简单的Micro Service 1 =>基本概念

如何构建一个简单的Micro Service? 

Key Feature of Cloud Services


Micro Services 


谈微服务之前,首先要看微服务圣经《The Twelve Factors》

SRP:Single Responsibility Principle 单一职责原则。每个服务都要小而美,快速开发迭代。

不局限于开发语言和工具,对于不同的服务请使用最合适的技术和工具。特别是对于新技术的尝试,将影响降到最低年

不限开发团队,不同的服务可以由不同的团队完成。

快速部署/回滚,敏捷度提高,A/B test,轻松替换服务。

对于微服务的应用,可以容易的针对系统瓶颈做自动扩容,同时通过服务治理来降低服务依赖(服务治理是最头疼的)

然而存在一些涉及悖论:

对于DRY(Don't Repeat Yourself),很难实现代码共享和使用相同的技术栈。因此同样的代码/错误可能存在不同的服务中

不能轻松的使用同一个DB。

CAP 原则:一个分布式系统中, Consistency(一致性,同意时刻数据的一致性)、 Availability(可用性,部分节点挂掉后提供客户响应)、Partition tolerance(分区容错性,当数据不一致的时候对对C还是A的选择),三者不可得兼。AP VS CP =>一致性优先VS可用性优先

避免二段提交2PC。


关键技术点


1.IaaS/Paas/CaaS, 不同的选择,对于整体架构的影响是很大的。例如选择了CaaS服务,供应商已经完成的大部分服务编排,容器编排任务

2.Service Management(Service Discovery, Service Registry,Service Monitor),这东西解决方案太多。Consul,Netflix,docker,rancher等很多软件已经提供了不同的解决方案。

3.Correlation IDs, 由于服务分散到里不同的instance, 提供统一的机制来处理ID至关重要,对于问题回溯和压力分流都能起到不小的帮助。

4.Log Monitoring,服务小而多,甚至每台移动应用(手机里的app)都可能是一个服务,将日志集中处理,且能定位日志来源至关重要。

5.API Gateway,对外提供统一的入口,流量控制,访问控制,访问日志,协议转换。

6.API Management,随之服务的增多,文档和接口不一致,借口变化都换带来其他服务的问题,需要同意的API管理机制。

7.Container Management,容器近年来越来越牛,好的容器编排工具,大大降低团队对于容器的管理成本,让开发团队话更多的时间在业务上,而不是环境上。

8.Configuration Management,不同环境,不同服务之间的配置需要一个统一的管理机制。


一些技术栈堆叠


一坨坨
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 转载本文需注明出处:微信公众号EAWorld,违者必究。 微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所...
    72a1f772fe47阅读 3,487评论 0 38
  • 邂逅夕阳里,相思暮霭中,影消人散月朦胧。 桃笑柳哭春度,何处再逢卿? 紫燕抬头落,乌鸦振翅升,漫天斜雨裹西风。 忆...
    良柳如烟阅读 571评论 4 8
  • 又一次倩倩默默跟着老大出去拜访客户,每次都安安静静跟在后面左看看右看看,心里想着我得记着点路,不然要是签了实施部门...
    小妮崽阅读 190评论 0 0
  • 实现效果 抓取行政区划代码地址:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdm...
    过桥阅读 791评论 0 2