微服务

作者: 邵聪聪 | 来源:发表于2018-02-23 15:35 被阅读22次

微服务?

微服务(Microservices)是一种分布式架构设计理念,是多个功能明确、单一的服务独立部署并且协同工作的服务组,其中每个服务都是一个独立的实体,可以独立部署在PaaS平台上,也可以作为一个独立的进程在主机中运行,服务与服务之间通过API访问,其中一个服务变更不会影响其它服务。
0b46f21fbe096b63144c31c406338744eaf8acc9.jpg
微服务不需要像普通服务那样成为一种独立的功能或者独立的资源。定义中称,微服务是需要与业务能力相匹配,这种说法完全正确。不幸的是,仍然意味着,如果能力模型粒度的设计是错误的,那么,我们就必须付出很多代价。如果你阅读了Fowler的整篇文章,你会发现,其中的指导建议是非常实用的。在决定将所有组件组合到一起时,开发人员需要非常确信这些组件都会有所改变,并且规模也会发生变化。服务粒度越粗,就越难以符合规定原则。服务粒度越细,就越能够灵活地降低变化和负载所带来的影响。然而,利弊之间的权衡过程是非常复杂的,我们要在配置和资金模型的基础上考虑到基础设施的成本问题。

现状

微服务作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。但大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。
34fae6cd7b899e5104e4ddaa4aa7d933c8950d21.png
企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。

微服务的好处

  • 解决技术异构问题(服务和服务之间通过API网络通信,可以使用不同的语言和技术开发不同的服务)
  • 快速迭代新技术(服务功能单一且独立,可以更新)
  • 拓展方便
  • 部署方便
  • 服务复用度高
  • 便于维护

服务建模

服务建模的两个指导原则:

  • 高内聚:关键是找出问题的边界,把相关的问题放在同一个服务中。
  • 松耦合:修改一个服务不需要修改另一个。
过早的将一个系统划分成微服务的代价非常高,尤其是在面对新领域时,将一个已有的代码库划分成微服务会比葱头开始建设微服务要简单的多。

分解单块系统

分解巨大无比没人感动的单块系统,首先要做的是理清代码库,找到接缝。
分解系统带来的好处:
  • 加快以后系统开发速度
  • 划清了团队结构
  • 增加安全审计功能后,保障安全性
  • 利于开展新技术

部署

跟传统服务的部署并没有太大的不同,无非是微服务的短平快,加快了CI(持续集成)的速度。如果将微服务打包为docker镜像,使用Jenkins、ansible、puppet等技术来部署微服务可以实现部署自动和效率的显著提高。

相关文章

  • 菜鸟带你看传说中的微信开发!

    1.微信开发原理微信客户端->微信服务器->开发绑定的服务器。微信开发步骤: 2.微信验证服务器原理(验证服务器的...

  • 胡健豪:如何运营微信矩阵

    微信矩阵是怎么回事,其实就是1个微信服务号+N个微信订阅号。微信服务号和订阅号的差别在于,服务号提供公司服务,订阅...

  • zabbix微信 | 微信对接自己服务器(2)

    上接使用微信告警 企业号微信对接自己服务器 1.本地服务器与微信服务器的信任 本地具有独立外网ip服务器获取微信服...

  • 微服务的微

    微服务的微,是指服务粒度的微么? 微服务可能是由此得名的。但在微服务架构思想中,服务粒度的微,不应该放在首要强调的...

  • 微信服务

    1.微信sdk 样例 http://demo.open.weixin.qq.com/jssdk/

  • 实战 Docker+Kubernetes 微服务容器化(一)-初

    1 微服务-导学 2 软件架构的进化 3 什么是微服务 多微才算微 微服务的特征 微服务诞生背景 4 画出微服务架...

  • SDtalk-10:阿里茶山服务设计实践-4

    2015年的茶山:服务设计微日记 《服务设计微日记》以微日记的故事写作形式,引用每天生活和工作的真实服务设计案例及...

  • 微服务应该具备的功能

    微服务应该具备的功能 >> 微服务应该具备的功能微服务,可以拆分为“微”和“服务”二字。“微”即小的意思,那到底多...

  • 微信开发——内网穿透

    微信开发需要与微信服务器交互,要保证微信服务器能向我们的服务器POST数据,我们的服务器需要能够在公网访问。这里简...

  • 【服务设计】服务设计微日记

    服务设计如同一部电影,有各个角色,出场顺序也不一样,服务流程贯穿应用场景,且有故事性,各个利益相关者都有主次之分。...

网友评论

    本文标题:微服务

    本文链接:https://www.haomeiwen.com/subject/lrexxftx.html