单体应用的缺点(多模块也是单体应用)
1.一个模块死掉,整个项目挂掉
2.一个模块升级,整个项目重启
3.项目开发越久,项目越臃肿
4.单个tomcat顶不住
怎么办?用集群,但是局部拓展还是做不到
5.技术选型单一(一门语言)
6.数据库选型单一
优点:
1.技术体系简单
2.初期开发成本低
3.初期开发效率快-项目搭建快
4.初期项目小,使用单体应用性能好
总结:一般用在小项目
分布式/微服务
微服务是一种架构思想,它提倡把一个大的系统拆分成多个小的应用/服务(独立的项目),这些小的项目都有自己的容器(tomcat)进程,他们是独立的,他们通过网络协议进行数据交互,共同协作
优点:
能解决单体应用的缺点
缺点:
1.数据通讯性能不好
2.成本高
3.开发麻烦,难度大
请求分发/负载均衡器(反向代理)
springboot五大神兽:
1.服务的发现注册(订单服务。支付服务。。。)
2.服务调用/请求路由
3.对有故障微服务做处理(熔断,隔离)
4.服务网关(微服务的请求入口)
5.分布式配置(对分布式配置文件做统一管理)