day02 大型互联网架构演变历程笔记 和nigix和keepalived

https://blog.csdn.net/rubulai/article/details/85956329  !!!应用他人的博客,讲应用

https://blog.csdn.net/blankhang/article/details/79346216

PS:
1.单个进程内,有多个线程,可以共享进程的内存空间
2. 进程和进程之间通信比较麻烦, 会涉及 序列化和反序列化

PS :以一个交易网站看网站是如何变大的,网站的发展!!!!

PS:随着请求的增加,服务器告急,应用和服务进行分离,分成2台机器

 PS: 应用服务器告急,两台应用服务器无交互,(访问可以通过硬件(负载均衡)或者dns解决),还有一个重要就是Session问题

 PS:底层的读写分离---现实中  读多写少,所以要读写分离

 

PS: 读写分离操作

https://blog.csdn.net/mengfanzhundsc/article/details/89641067

https://www.cnblogs.com/cjsblog/p/9712457.html

https://www.cnblogs.com/surge/p/3582248.html

 数据库同步-是通过mysql内部配置文件实现的

https://blog.csdn.net/starlh35/article/details/78735510

 

 

PS: 当数据库遇到压力时,主要考虑三点

数据库垂直拆分 水平拆分


 

  

1: 过去最早是一台tomcat,后续程序扩大一台不够用使用了多个tomcat,但是当用户访问时怎么去划分资源呢?
answer : 使用nginx,他是一个静态资源的服务器,不过他有一个特殊的功能就是代理转发。 那么tomcat主要用来分发请求
2. 为了方便使用服务,讲业务进行分离,因为大数据服务器比较多,如果有业务更新的话,需要更新许多台服务器,那么很麻烦。
所以,使用业务分理。 那么问题有又来了,分离了业务怎么调取服务呢? 有WebService,有点笨重。 目前使用意向RPC机构
的dubbo
3.服务显现了,现在就要解决数据存储的问题了, 阿里有 写了一个分库分表的中间件 MyCat, 也可以使用Redis缓存数据。
也可以使用数据库进行区分,一个用来读 、一个用来写。
4.Nginx专门负责分发请求,一台显然不行,所以需要多台。为了高可用,使用keepalived框架,软件外部会暴露一个ip,
内部多态服务器有各自ip,监控ngnix是不是活着。如果nigix挂了,keepalived把自己ip交给活的,nigix挂了把ip交给活的
1.CDN服务器是由运营商提供的,专门负责静态的资源(如图片的资源)和当用户访问的时候转发到最近的服务器 。像
淘宝都有自己的CDN,小公司一般会向运营商租用CDN服务器

 

原文地址:https://www.cnblogs.com/bee-home/p/7834417.html