首页 >

web端常用架构 – 数据库 – 前端|

如果产品升级 详情怎么做,word怎么让纸张横向打印不出来,google play怎么更新如果产品升级 详情怎么做,word怎么让纸张横向打印不出来,google play怎么更新web端常用架构 - 数据库 - 前端|web端常用架构[数据库]一、单DB架构

  单DB架构一般就是nginx直接upstream请求到后端Tomcat,扩容时基本是增加新的Tomcat实例,然后通过Nginx负载均衡upstream过去,此时数据库还不是瓶颈,但是当访问量达到一定级别后数据库的压力就上来了,单个数据库可能扛不住,可以通过分表分库或者读写分离加缓存来解决。

二、DB+Cache/数据库读写分离架构

   此时通过使用数据库读写分离或者Redis这种缓存来支撑更大的访问量,但是使用缓存会存在与数据库数据不一致的问题,或者Redis不能直接命中数据库导致数据库压力过大,可以考虑使用Redis的主从或者用一致性哈希算法做分片的Redis集群。使用缓存这种架构,要求应用对数据一致性的要求不是很高。

三、OpenResty+Local Redis+Mysql集群架构

    OpenResty首先通过Lua读取本机Redis缓存,如果命不中,则回源到后端Tomcat集群,后端Tomcat集群再读取Mysql数据库,Redis都是安装到和OpenResty同一台服务器上,OpenResty直接读取本机可以减少网络延时。Redis通过主从方式同步数据。

四、OpenResty+Redis集群+Mysql集群架构

   此时架构与之前架构不同的是,此时大家使用一致性哈希算法实现Redis集群,而不是读取本机Redis,保证其中一台不可用时,只有很少的数据会丢失,防止击穿到数据库。Redis集群分片可以使用Twemproxy如果Tomcat实例很多的话,就要考虑Redis和Mysql链接数问题,因为大部分Redis/Mysql客户端都是通过连接池实现,此时链接数会成为瓶颈,一般方法是通过中间件来减少链接数。

   此时的问题就是Twemproxy实例众多,应用维护、配置困难,需要在这之上做负债均衡,比如,通过LVS/HaProxy实现VIP(虚拟Ip),可以做到切换对应用透明,故障自动转移。还可以通过实现内网DNS来做其负载均衡。

如果产品升级 详情怎么做,word怎么让纸张横向打印不出来,google play怎么更新如果产品升级 详情怎么做,word怎么让纸张横向打印不出来,google play怎么更新web端常用架构 - 数据库 - 前端|


web端常用架构 - 数据库 - 前端|
  • mysql 查询当前用户,mysql怎么查看表的数据来源 - 数据库 - 前端,mysql启动触发器
  • mysql 查询当前用户,mysql怎么查看表的数据来源 - 数据库 - 前端,mysql启动触发器 | mysql 查询当前用户,mysql怎么查看表的数据来源 - 数据库 - 前端,mysql启动触发器 ...

    web端常用架构 - 数据库 - 前端|
  • Python与java哪个更适合自行创业 - 数据库 - 前端,mysql for python
  • Python与java哪个更适合自行创业 - 数据库 - 前端,mysql for python | Python与java哪个更适合自行创业 - 数据库 - 前端,mysql for python ...

    web端常用架构 - 数据库 - 前端|
  • csharp用什么数据库 - 数据库 - 前端|
  • csharp用什么数据库 - 数据库 - 前端| | csharp用什么数据库 - 数据库 - 前端| ...