了解什么是微服务

原文地址: itweknow.cn/detail?id=4… , 欢迎你们访问。服务器

什么是微服务

先来讲一下概念,微服务就是一群协同工做且小而自治的服务。在微服务中存在下面这些特征:网络

1.内聚性

什么是内聚性呢,就是将因相同缘由而改变的东西聚在一块儿,因不一样缘由而改变的东西分离开来,这么一种隔离形态。架构

2.小

微服务这个名词听起来就有小的特色,那么小到什么程度才能叫作小呢,其实这个小的把控是微服务里面很难把控的一个东西。其实,咱们只要可以保证在两周左右可以对整个服务器进行重构甚至更换其技术栈,就能称之为小。微服务

3.低耦合

服务之间独立运行,相互之间不影响,不会由于某一个服务的不可用而致使整个系统的瘫痪,从新部署某一个微服务对其余服务器不会产生仍和影响,其实这个也是微服务架构设计过程当中的一个黄金法则。性能

4.网络通讯

服务之间协同工做的方式是经过网络通讯方式来进行数据交换等操做。架构设计

微服务的优势

说完什么是微服务,那么咱们就来讨论一下微服务有哪些优势呗,为啥如今互联网公司广泛都采用微服务的架构。设计

1.技术异构性
  • 微服务相互之间的耦合度很低,且服务之间的调用走的是网络通讯,对服务的具体实现方式并无强制要求,因此咱们能够在不一样的服务中采用更适合这个服务的技术栈。
  • 小,咱们能够在不是很重要的服务上引用新的技术而没必要担忧新的技术会对整个系统产生破坏性的影响。并且就算出现问题,上面也说了微服务,小嘛,咱们彻底能够在两周内完成它的重构甚至是重写。
2.弹性

由于内聚性高,分工明确,因此当系统出现问题的时候,咱们很容易定位出是哪一个服务出现了问题,并很快修复。资源

3.扩展
  • 很容易进行扩展,当某个微服务所在的服务器不够用的时候,咱们只须要为该服务添加机器便可,而不须要给整个系统都增长服务器配置。
  • 灵活,咱们能够将一些并不要求性能或者很小的服务放在配置较差的服务器上运行,动态灵活的分配服务器资源。甚至有时候能够经过这种方式来节省研发成本。
4.简化部署

修改了哪一个服务就发布哪一个服务,不须要发布整个系统,在操做和风险上都很棒。部署

5.匹配组织结构

一般一个微服务只须要几我的的小团队来维护就好,咱们你们应该也知道,一般状况下小团队的工做效率会比大团队高上很多。get

其余的分解技术

1.共享库

实际上就是Java中的jar包吧,这个仍是会限制咱们的技术选型,由于通常共享库的引入基本上都是要求同种语言退其次也要求同一平台下的技术环境。还有一个问题就是共享库的版本维护很困难,若是一个库在多个项目中被引用,那么咱们更新起来会很麻烦。

2.模块

主流的Java8还不支持这一点。

相关文章
相关标签/搜索