技术分享 -- 155




200x200


概述LVS 就是 Linux Virtual Server,即 Linux 虚拟服务器,是通过软件建立的一个虚拟服务器集群系统LVS&nbs

#技术帖    #linux    #技术分享    #server   

200x200


概述之前搭建了读写分离系统:MySQL 分布式主从读写分离架构及实战 对于这样主库用来读写,从库只读的系统,怎样决定每一个 sql 读写的真实库呢?在应用程序中主动判断显然是不现

#技术帖    #mysql    #sql    #技术分享   

200x200


nginx 相对于 apache 的优点轻量级ngxin 相对于 apache 来说,占用资源更少,这是高度模块化设计的优势nginx&nb

#技术帖    #linux    #unix    #apache   

200x200


概述随着网站业务的不断发展,用户量不断增加,数据量成倍增长,数据库的负载压力也越来越大,同时,为了防止数据库异常造成的数据丢失,我们常常需要两台或多态数据库的主从关系,可以将一台数据库服务器的数据更新

#技术帖    #linux    #unix    #mysql   

200x200


概述MQ(Message Queue),即消息队列,一般用于应用系统解耦、消息异步分发,能够提高系统吞吐量MQ 的产品很多,ZeroMQ、RabbitMQ、ActiveMQ、Kaf

#技术帖    #apache    #技术分享    #存储   

200x200


概述在网络层的背后,每一个业务都需要数据的支撑,数据库的优化在整个系统中就显得至关重要了虽然 NoSQL 在并发性能上要优于传统的 DBA,但由于 MySQL&

#技术帖    #web    #mysql    #sql   

200x200


概述随着访问量的上升,web 系统的压力越来越大,在这个过程中,面临很多问题而在网络层面上,由于数据暴增,单服务器开始疲于应对海量用户访问,就需要搭建负载均衡系统,让分布式集群分担压力所谓的

#技术帖    #linux    #unix    #网络   
问题描述开始阅读 nginx 源码的时候就一直伴随着一个问题,那就是多进程的 nginx 模型是怎么保证多个进程同时写入一个文件不发生数据交错呢?猜想中,主要有以下几种解决方案:最传统的,正在写文件的进程加锁,其他进程等待,但是这样的情况是绝对不允许的,效率太过低下写 log 前测试锁状态,如果已经锁定,则写入进程自己的缓冲区中,等待下次调用时同步缓冲区,这样做的好处是无需阻塞,提高了效率,但是就无法做到 log 的实时了,这样做工程中也是绝对无法接受的,一旦发生问题,将无法保证 log 是否已经被写入,因此很难定位一个进程专门负责写 log,其他进程通过域套接字或者管道将 log 内容发送给他,他持续阻塞在 epoll_wait 上,直到收到信息,立即写入,但是众所周知,nginx 是调用同一个函数启动所有进程的,并没有专门调用函数启动所谓的 log 进程,除了 master 和 worker,nginx 也确实没有 log 进程存在那么就是进程启动后,全部去竞争某个锁,竞争到该锁的 worker 执行 log&n
#技术帖    #linux    #unix    #socket   
概述无论是大企业还是小公司,都有意无意的使用 mysql 来搭建数据存储服务,但是随着业务访问量、数据量的急剧膨胀,集中式数据存储越来越凸显出他的技术瓶颈,需要做读写分离而这恰恰也是 mysql 的一个优势所在,正是 mysql 的可扩展性,让 mysql 逐渐成为了企业的优先选择 mysql 的分表设计mysql 上设计数据库应该力求做到小快灵,单库数据量要小,数据库要快速响应,表设计要灵活不同的业务可以选择不同的分表原则,同时需要考虑怎么高效的水平扩展数据量过大,就要进行表的拆分,当然,如果某个表的访问压力过大,同样也是需要考虑分表的,将两个表分别放到两个服务器上来分担压力那么怎么分表,策略主要有以下几个: 配置表 + 数据表将存储数据的表按照某种分表规则和查询路由进行分表,并新建配置表,存储和维护对应的分表规则和查询路由当然,如果分表规则太过灵活,这也意味着分表风险过高 mod 取模分表如果分 4 个表,那么用每条数据的自增ID对 4 取模,取得对应的分表编号,从而可以达到分散数据、分表的目的同时,随着业务发展带来的数据膨胀及访问压力的加大,进一步分表也是非常容易的 M
#技术帖    #mysql    #database    #技术分享   



京ICP备15018585号