《微服务设计》读书笔记
待做的: 学习框架:nameko、double、spring cloud、书 微服务的定义: 一些协同工作的小而自治的服务 微服务的核心思想: 1.自治: 1)每个微服务(APP)可以独立部署到PAAS(platform as a service)上 2)作为服务方,需要避免方暴露过多给消费而产生耦合,从而降低服务的自治性。要封装好,服务方内部实现修改,不该影响到消费方。 2.细粒度: 1)解耦:避免系统臃肿、难以维护 2)内聚性:相同的东西放在一起 3.隔离性: 1)各服务直接均通过网络调用进行通信(而不是代码调用),避免了紧耦合 2)各服务之间通过API调用,API解耦性必须要好,以保证技术的选择不被限制 3)一个黄金法则:你是否能够修改一个服务并对其进行部署,而不影响其他任何服务?(独立部署) 微服务的优点: 1.细粒度-》扩展性好-》可以快速响应变化、快速交付-》可以尝试更多的新技术 2.增加了团队的自治力 3.技术异构性。可以根据不同的业务场景,选择不同的技术,来构架服务。比如某个APP对性能有特别高的要求。或者某些APP对底层数据库有特别的要求(图数据库、文档数据库、关系型数据库)。这点需要APP足够小,可以快速重写,从而降低风险。还有就是框架要支持多语言开发业务模块。 4.弹性(稳定性、可用性):第11章,详解 5.扩展:可以很容易把独立的服务,分割出去独立部署