微服务

来源:互联网 发布:windows文件命名原则 编辑:程序博客网 时间:2024/05/17 00:03
  从思路和理念上来讲,微服务就是倡导大家尽量将功能进行拆分,将服务粒度做小,使之可以独立承担对外服务的
职责,沿着这个思路开发和交付的软件服务实体就叫做“微服务”,而围绕着这个思路和理念构建的一系列基
础设施和指导思想,称为“微服务体系”。
   将项目按照开发的功能拆分成不同的项目,从而负责不同功能的研发人员就可以在自己的代码项目上进行开发,
从而解决大家无法在开发阶段并行开发的苦恼。
   在微服务治理体系下,各个微服务交付期间也是各自独立交付的,从而使每个微服务从开发到交付整个都是
独立进行,这大大加快了微服务的迭代和交付效率。
   一个TomCat只部署一个WAR,然后通过复制和扩展多个Tomcat实例来扩展整个应用服务集群。一个web容器只部署
一个war包的做法,正是综合考虑了web容器的设计和实现现状与真实需求之后做出的合理实践选择。这些web容器
大多通过类加载器(Classloader)以及线程来实现一定程度的依赖和功能隔离。而进程拥有天然的隔离特性。
   在架构设计傻瓜有一种实践模式,即隔板模式,这种架构设计模式的首要目的是为了隔离系统中的各个功能单元
和实体,使得系统保护因为一个单元或者服务的失败而导致整体失败。
   互通性:在开发和交付微服务的时候,尤其是在多语言生态下开发的交付微服务,我们从一开始就要将互通性
作为首要考虑因素,从而不会因为执迷于某些服务或者系统的单点效率而失去了整个微服务体系的整体效率。
   多语言生态:微服务的提供者既可以是Java或者c++,也可以是python或者是Ruby完成微服务的开发和交互,
对于团队内部拥有繁荣且有差异的语言文化来说,多语言生态环境下的微服务开发和交付将可以最大化的发挥团队
和组织内部各成员的优势。注意:为了让服务的访问者可以统一的接口访问所有这些不同语言开发和交互的微服务,
应该尽量统一微服务的服务接口和协议。
原创粉丝点击