什么是微服务
1)一组小的服务(大小没有特别的标准,只要同一团队的工程师理解服务的标识一致即可)
2)独立的进程(java的tomcat,nodejs等)
3)轻量级的通信(不是soap,一般http或者rpc)
4)基于业务能力(类似用户服务,商品服务等等)
5)独立部署(迭代速度快)
6)无集中式管理(无须统一技术栈,可以根据不同的服务或者团队进行灵活选择)
微服务的利与弊
优点:
- 开发简单
- 技术栈灵活
- 服务独立无依赖
- 独立按需扩展
- 可用性高
缺点(挑战):
- 多服务运维难度
- 系统部署依赖
- 服务间通信成本
- 数据一致性
- 系统集成测试
- 重复工作
- 性能监控
什么时候适合使用微服务
微服务不是银弹,建议大家在单服务的应用成熟时,并且对业务领域比较熟悉的时候,如果发现单服务无法适应业务发展时,再考虑微服务的设计和架构。
微服务具备的一些东西
1.微服务网关
网关就好比一个公司的门卫。屏蔽内部细节,统一对外服务接口。网关可以统一进行权限验证,API监控等
2.微