单体应用对比微服务

来源:互联网 发布:gtx1070 gpu数据 编辑:程序博客网 时间:2024/06/08 07:52
说起微服务,首先要对比的是传统的单体应用。单体应用是最早的应用形态,不需要太关注整体性能,项目规模中小型时,开发和部署都挺方便。简单谈谈他的优缺点。

单体应用优点:
方便调试,代码都在一起;
没有分布式开销,所有服务都在本地容器内;
中小型项目可以快速迭代,不需要太多资源

单体应用容易造成的问题:
版本管理难:当项目规模变大时,代码容易产生冲突。
稳定性差:局部服务有问题,可能会影响整体;
可维护性差:规模扩大复杂性直线上升,造成系统不易理解;
可扩展性差:无法满足高并发下对应用的要求,不利于较高利用率的横向扩展;
可复用性差:服务被打包在应用中,功能不易复用;
灵活性差:服务不容易灵活调配、升降级等。

微服务定义:
the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languagesand use different data storage technologies.
微服务是由以单一应用程序构成的小服务,自己拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。同时服务会使用最小的规模的集中管理 (例如 Docker) 能力,服务可以用不同的编程语言与数据库等技术实现。
具体特点有:
1、应用由一系列服务组成;
2、独立的开发业务;
3、单独部署;
4、分布式管理

包含的标准:
分布式服务组成的系统;按照业务不同而不是技术来划分组织;做有生命的产品而不是项目;强服务,个体和共同性;自动化运维;容错能力
原创粉丝点击