1、 微服务简介

1.1微服务是什么

随着领域驱动设计、持续交付、按需虚拟化、基础设施自动化、小型自治团队、大型集群系统这些实践的流行,微服务也应运而生。它不是被发明出来的,而是被总结出来的一种趋势或模式。网络

微服务,就是能够协同工做的微型的服务,这些服务要小,且能够自治。架构

1.2微服务的大小

微服务到底多微才算微?有人说,若使用开发时间来计算,一个微服务应该能够在两周内彻底重写。分布式

但这只是个经验法则,具体实施起来仍是要因地制宜。微服务通常来讲足够小便可,不宜太小。换句话说,若是你不以为你的代码库过大,那么它就算足够小了。模块化

1.3微服务的好处

使用微服务的好处有不少,并且这些好处遍及于不一样的方面,具体以下:微服务

l  技术异构性:在不一样的服务中,可使用最合适的技术栈去实现功能;测试

l  弹性强:能够很好地处理服务不可用和功能降级;spa

l  扩展性强:使用较小的多个服务,则能够只对须要进行扩展的服务进行扩展;设计

l  简化部署:各个服务独立部署,能够更快地对特定部分进行部署,且更容易回滚;接口

l  便于管理:在小代码库上工做的小团队更加高效;开发

l  可组合性:能够组合使用微服务快速完成一个粗粒度的服务接口;

1.4微服务的不足

微服务不是银弹,任何事情都有两面性,在享受微服务带来的便捷之余,也要接收它的不足,具体以下:

l  管理成本高:微服务的相对独立性,会带来大量的服务管理工做;

l  网络问题:一旦使用了微服务,网络就是个问题,不但网络,机器也是如此;

l  分布式失误:相较于传统架构,要作更多的事情保证各个微服务的业务一致性;

1.5微服务的使用场景

随着新功能的增长,代码库会越变越大。时间久了代码库会很是庞大,以致于想要知道该在什么地方作修改都很困难,若在涉及到人员变更,新人接棒后更难维护。

尽管你们都想在本身的系统中作到清晰地模块化,但事实上这些模块,或者说业务之间的界限很难维护。类似的功能随处可见,使得开发或维护变得难上加难。

遇被上述的问题缠绕着,就能够想一想微服务是否能够帮你解决这些事情。

微服务将高内聚、低耦合这个理念应用到独立的服务上,把因相同缘由而变化的东西聚到一块儿,把因不一样缘由而变化的东西分离出来。根据业务的边界来肯定服务的边界

1.6小结

主要总结了什么是微服务,微服务的好处与不足,以及在什么场景使用微服务。

微服务不是银弹,在享受它来带的好处的同时,也要作好准备。主要在服务管理上,须要在部署、测试、监控等方面作更多的工做。

微服务须要根据业务来拆分,业务的边界就是微服务的边界,脱离的业务的微服务很难找到合适的边界,从而使得相互间的依赖变得混乱不堪。

相关文章
相关标签/搜索