1. 什么是微服务?
是一种架构风格,非架构标准。
一组“小”的服务 - 小可以是一段代码,也可以是一个大的项目
独立的进程 - 进程的天然隔离性
轻量级的通信 - 通过网络通信,不轻意味着网络延时,更轻量级的协议(HTTP JSON)
基于业务能力 - 按照业务边界划分
独立部署
无集中式管理 - 团队自治,可以在内部快速演化,不受外部的影响 (无集中式管理,但是要有集中式的规范和标准,再好的蓝图还得看实现的人)
loosely coupled
service oriented architecture
with bounded context
那么历史遗留系统改如何和微服务之间合作呢?
老师好,对于一个JDK 1.4 EJB 2 的后台渲染的遗留系统,想要演进到微服务,可以给一些粗粒度的建议吗?
缺乏足够上下文,给建议有难度,实际遗留系统的改造更多是一个人肉活,就是定好计划,协调投入资源,硬着头皮拆分解耦。总体上,两点思路可以考虑,一个是先抽取出API,做到初步服务化,这样才能逐步拆分出更多的微服务;第二个是数据库层做到读写分离,这样才有机会拆分甚至替换数据库。
微服务包不包括前台?
可以,但得实事求是,逐个演化,就像接口细分一个道理&#x