- 论坛徽章:
- 42
|
1. 如何理解微服务,简要说明您所理解的微服务是什么?
微服务本质上就是SOA的自然演进,就是将rpc服务化,进而在部署上可以利用成熟的web技术,实现自动化.
其核心是接口服务化,部署容器化.
微服务的一个特点是随之而来的服务治理的问题,原本开发的工作相当于转移到运维了.
这就和devops搭上了.
微服务本身也可以用rpc接口,但是现有的rpc跨语言能力都不太强,用得多的还是http.
不过rest的效率有瓶颈,高性能的场景还需要抉择.
2. 与传统单一服务架构相比,在实战环境下,各自的优劣都有哪些?
如果是小规模集群, 尤其是双机集群,传统的单一架构+LB/HA的效率更高.因为避免了无效的rpc.
如果是上规模的云环境, 微服务架构成了很好的选择.
这2者之间, 可以用业务拆分+单一服务架构, 也可以用微服务架构.前者重效率,后者重弹性.
3. 如果您考虑部署微服务,在业务部署过程中会遇到哪些关键挑战?
首先是历史系统的迁移,要做好接口服务化和体系重构.这个是大头的工作量.
其次是微服务框架的选型.现在spring cloud比较流行.不过对于非java语言,还是有些不通畅.
在来是部署, 微服务配容器,k8s/rancher也不轻省.
还有就是存储, 微服务体系里面最闹心的就是存储.貌似没有特别好的方案.多数还是拿rdbms凑合事. |
|