原文地址: itweknow.cn/detail?id=4… , 欢迎你们访问。服务器
先来讲一下概念,微服务就是一群协同工做且小而自治的服务。在微服务中存在下面这些特征:网络
什么是内聚性呢,就是将因相同缘由而改变的东西聚在一块儿,因不一样缘由而改变的东西分离开来,这么一种隔离形态。架构
微服务这个名词听起来就有小的特色,那么小到什么程度才能叫作小呢,其实这个小的把控是微服务里面很难把控的一个东西。其实,咱们只要可以保证在两周左右可以对整个服务器进行重构甚至更换其技术栈,就能称之为小。微服务
服务之间独立运行,相互之间不影响,不会由于某一个服务的不可用而致使整个系统的瘫痪,从新部署某一个微服务对其余服务器不会产生仍和影响,其实这个也是微服务架构设计过程当中的一个黄金法则。性能
服务之间协同工做的方式是经过网络通讯方式来进行数据交换等操做。架构设计
说完什么是微服务,那么咱们就来讨论一下微服务有哪些优势呗,为啥如今互联网公司广泛都采用微服务的架构。设计
由于内聚性高,分工明确,因此当系统出现问题的时候,咱们很容易定位出是哪一个服务出现了问题,并很快修复。资源
修改了哪一个服务就发布哪一个服务,不须要发布整个系统,在操做和风险上都很棒。部署
一般一个微服务只须要几我的的小团队来维护就好,咱们你们应该也知道,一般状况下小团队的工做效率会比大团队高上很多。get
实际上就是Java中的jar包吧,这个仍是会限制咱们的技术选型,由于通常共享库的引入基本上都是要求同种语言退其次也要求同一平台下的技术环境。还有一个问题就是共享库的版本维护很困难,若是一个库在多个项目中被引用,那么咱们更新起来会很麻烦。
主流的Java8还不支持这一点。