一般的平台会遇到的问题:
服务配置复杂。基础服务多,服务的资源配置复杂,传统方式管理服务复杂
服务之间调用复杂。检索服务、用户中心服务等,服务之间的调用复杂,依赖多
服务监控难度大。服务比较多,机器部署复杂,服务存活监控、业务是否正常监控尤为重要
服务化测试问题。服务依赖性比较大,测试一个小的功能,周边服务也需要启动
那么微服务的架构有什么优势呢?
先来看看两者的区别
传统单体架构分布式微服务架构新功能开发需要时间容器开发和实现部署不经常且容易部署经常发布,部署复杂隔离性故障影响范围大故障影响范围小架构设计难度小难度级数增加系统性能响应时间快,吞吐量小响应时间慢,吞吐量大系统运维运维简单运维复杂技术技术单一且封闭技术多样且开放测试和查错简单复杂系统扩展性扩展性很差扩展性很好系统管理重点在于开发成本重点在于服务治理和调度由此可见,分布式系统虽然有一些优势,但也存在一些问题
架构设计变得复杂(尤其是分布式事务)部署单个服务会比较快,但一次部署多个服务会变得复杂系统的吞吐量会变大,但是响应时间会变长运维复杂度会因为服务变多而变得很复杂架构复杂导致学习曲线变大测试和查错的复杂度增大技术很多样,带来维护和运维的复杂度提升管理分布式系统中的服务和调度变得困难且复杂简而言之,分布式系统架构的难点在于系统设计、管理和运维
参考资料:《微服务架构实战》—— 张锋
一 叶 知 秋,奥 妙 玄 心