简单对比一下微服务和单体服务

最近有好些同学(当然主要是有小姐姐)找我讨论分布式和微服务。我自己是从传统行业转到互联网的,也能看到互联网和传统行业技术架构上的一些差异,但是毕竟没有进行过系统的学习,所以讨论起来总感觉找不到重点,所以抽时间看了一些微服务相关的资料。接下来将会花几篇文档来整理一下微服务相关的概念

单体服务架构

单体服务架构的特点

  • 各个功能模块写在同一个项目中,部署到一台机器上
  • 一个项目由多个开发人员甚至多个团队一起进行开发维护

随着业务发展和需求迭代,单体架构会面临一些问题

  • 不灵活:改一个功能需要对整个服务进行重新编译打包部署,某个功能达到瓶颈需要整个服务进行扩容
  • 不稳定:某个模块的故障可能影响整个服务
  • 迭代低效:一个庞大的单体服务往往是由多个开发人员甚至团队合作管理的,这回大大提高需求推进中的沟通成本

微服务架构

  传统的单体架构难以适应互联网快速迭代、大规模、高并发等需求,微服务架构也就应运而生,微服务架构一般有以下特点

  • 将服务拆分成多个单一职责的小的服务,进行单独部署,服务之间通过网络进行通信
  • 每个服务应该有自己单独的管理团队,高度自治

  微服务架构能有效解决单体架构遇到的一些问题

  • 灵活扩展:可以根据各个服务的瓶颈灵活水平伸缩
  • 稳定:服务各自有自己单独的职责,服务之间松耦合,避免因一个模块的问题导致服务崩溃
  • 高效迭代: 各个服务独立开发、迭代,高度自治,提升效率

总结

  微服务将应用拆分为更小的、职责更单一的服务,通过服务的组合来实现应用完整的功能,整体更加灵活,开发迭代也更加高效。但是由于微服务的粒度更细,加上本身的分布式特性,使得微服务架构在服务治理上也存在不小的挑战。如何解决这些问题,也就成了微服务学习中及其重要的一环

参考

  • 《分布式服务架构:原理、设计与实战》 [1] 一书作者李艳鹏、杨彪,电子工业出版社2017年8月出版》
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 微服务最近非常流行,各大互联网公司纷纷采用微服务架构体系,微服务架构模式正在为敏捷部署以及复杂企业应用实施提供巨大...
    Sting阅读 9,116评论 0 57
  • 摘要:本文中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务在读者...
    Java架构师Carl阅读 5,867评论 0 20
  • 资料来源:有架构给我的一些资料,以及自己百度和论坛、社区找来的一些资料,权当做一个总结式的简介。。。 目录如下: ...
    AlbenXie阅读 52,462评论 4 57
  • 每年的夏天。爸爸妈妈都领我和姐姐去水上乐园游玩儿。里面有许多的小朋友和叔叔阿姨。我们玩儿的都很开心。
    panyihao阅读 264评论 0 0
  • 一个人会犯很多错,但不是所有错误都可以被原谅……
    HappyEndin_6993阅读 143评论 0 0