一、架构演进
1.开发环境、测试环境/沙箱环境、生产环境(Linux操作系统)
2.单体架构 All in One
2.1web2.0用户激增,基于单体架构集群
2.2问题:
1.用户到底要访问那台服务器
2.多台tomcat数据共享问题
3.涉及到了搜索操作时,数据库受不了
2.3使用中间件解决:
1.使用Nginx反向代理服务器,来解决用户请求问题
2.使用Redis来代替之前使用的JVM内存怒操作
3.使用Elasitcsearch来代替MySQL的模糊查询。效率更高,用户体验更好
3.垂直架构:江哥哥模块分开开发,并运行在自己的web容器中,相互独立
4.分布式架构:将各个模块分开开发,并运行在自己的web容器中,通过http/rpc的方式使模块之间相互通讯,像一些分布式框架,将三层拆开
4.1分布式架构面临的问题:
1.服务与服务之间如何实现异步通讯
2.通过Eureka获取服务地址信息,Ribbon实现负载均衡
3.Hysreix组件,来实现服务熔断:快速失败,返回托底