在7层分发中,http,mysql是如何控制数据包的走向

拓补图:

                                                     apache-php�K
                  nginx+keepalived主     apache-php    �K                           mysql-写-主
client                                                                      amoeba              mysql-读-从
                                                      tomcat                                        mysql-读2-从
                  nginx+keepalived从                                                                                            

                                                       tomcat

      首先是客户连接到负载均衡器,利用keepalived故障隔离和负载均衡器间的失败切换,数据通过nginx主,并且它还能够检测到服务器池对象的健康检查, 然后利用nginx检测http报文中的字段来控制http数据包的走向,数据包从客户端发起,经过nginx (主),nginx通过查看http报文中host头部把数据分发给不同的web主机,查看uri来实现不同资源的分发,如http头中的页面是php或者html的话,就交给apache来处理。接着apache处理php页面时,php有连接mysql的代码,php代码中定义了读写mysql数据库,这时会去连接mysql。        

         amoeba将sql请求发送到不同的mysql数据库上执行同时也控制了数据包的走向,实现了读写分离,负载均衡等,可以读数据去从服务器,写数据去主服务器。

你可能感兴趣的:(mysql,如何,数据包,的)