![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式系统
分布式系统
逐梦先锋
hello word
展开
-
分布式架构如何设计
本次分享大纲如下:大型网站的特点大型网站架构目标大型网站架构模式高性能架构高可用架构可伸缩架构可扩展架构安全架构敏捷架构大型架构举例一、大型网站的特点用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费体验二、大型网站架构目标...原创 2019-11-06 09:43:27 · 309 阅读 · 0 评论 -
分布式架构的演进
一、什么是分布式架构 分布式系统(distributed system)是建立在网络之上的软件系统。 内聚性:是指每一个数据库分布节点高度自治,有本地的数据库管理系统。 透明性:是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。 在分布式数据系统中,用户感觉不数据是分布的,即用户不须知道关系是否分割,有无副本,数据存在于那个站点以及事物在哪...转载 2019-10-29 17:51:17 · 104 阅读 · 0 评论 -
分布式系统架构设计
一。主流架构模型 SOA架构和微服务架构SOA架构SOA全称(Service Oriented Architecture) 中文意思为 面相服务的架构,他是一种设计方法,轻重包含多个服务,服务之间通过相互依赖最终提供一系列的功能, 一个服务通常以独立的形式存在与操作系统进程中,各个服务之间通过网络调用,跟SOA相提并论的还有ESB(企业服务总线),简单来说ESB就是管道,链接各个服务节...原创 2019-10-29 16:42:18 · 164 阅读 · 0 评论 -
Mysql 实现读写分离-Atlas中间件
Mysq主从同步原理:Mysql 之间数据复制的基础是二进制日志文件(bin log file) Slave 数据库作为slave通过一个 I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现,master二进制文件发生变化,则会把变化复制到自己的日志中,然后SQL线程会把相关的数据库操作事件执行到自己的数据库中,依次实现从数据库和主数据库的一致性,也就是实现了...原创 2019-10-29 14:08:32 · 148 阅读 · 0 评论 -
基于 Discuz!X 的双机热备部署方案
互联网应用(产品)一旦上线,就会面临可靠性和可扩展性两个永恒的问题。而对于很多创业公司而言,在还没有把用户量做起来之前,产品可靠性的问题则更加突出。笔者认为采用双机热备的方案是对小微应用而言最具性价比的方案。本系列教程将分几个章节由浅入深向读者展示一个完整的双机方案是如何部署并运行的。 1、业务环境系统设计 1.1、整个系统由三台服务器构成,其中两台负责承载生产业务,剩下一台负责监控、...原创 2019-10-29 13:48:17 · 874 阅读 · 0 评论 -
MySQL + Atlas --- 部署读写分离
Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Proxy的一些BUG,并且优化了很多东西。而且安装方便。配置的注释写的蛮详细的,都是中文。英文不好的同学有福了。Atlas官方链接:https://github.com/Qihoo360/Atlas/blob/master/README_ZH.mdAtlas下载链接:https://gith...原创 2019-10-29 10:02:30 · 421 阅读 · 0 评论 -
PHP分布式路由算法介绍与实现
在我们做负载均衡,分布式部署,数据分表时,需要用到一些分布式路由算法将请求路由到真实的节点上。最常用的有哈希取模,一致性哈希算法等。这里对他们的做一些介绍及提供PHP实现。场景举例:分布式缓存服务器路由1、哈希取模算法对缓存key进行hash得到结果取余数 (hash() modN):对机器编号从0到N-1,按照自定义的hash()算法,对每个请求的hash()值按N取模,得到余数i...转载 2019-10-28 16:26:08 · 174 阅读 · 0 评论 -
PHP的WEB系统从单机到分布式集群的演进
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。 Web负载均衡 Web负载均衡(Load Balancing),简单地说...转载 2019-10-28 16:22:31 · 162 阅读 · 0 评论 -
ThinkPHP项目实现分布式部署(网站集群)
普通的Web开发,常用的模式就是用户登录之后,登录状态信息保存在Session中,用户一些常用的热数据保存在文件缓存中,用户上传的附件信息保存在Web服务器的某个目录上。这种方式对于一般的Web应用,使用很方便,完全能够胜任。但是对于高并发的企业级网站,就应付不了了。需要采用Web集群实现负载均衡。 使用Web集群方式部署之后,首要调整的就是用户状态信息与附件信息。用户状态不能再保存到Se...原创 2019-10-28 16:12:15 · 2672 阅读 · 1 评论 -
高并发平台解决方案
1.应用和静态资源分离刚开始的时候应用和静态资源是保存在一起的,当并发量达到一定程度的时候就需要将静态资源保存到专门的服务器中,静态资源主要包括图片、视频、js、css和一些资源文件等,这些文件因为没有状态所以分离比较简单,直接存放到响应的服务器就可以了,一般会使用专门的域名去访问。通过不同的域名可以让浏览器直接访问资源服务器而不需要再访问应用服务器了。架构图如下:2.页面缓...原创 2019-10-28 13:18:40 · 474 阅读 · 0 评论 -
PHP分布式路由算法介绍与实现
在我们做负载均衡,分布式部署,数据分表时,需要用到一些分布式路由算法将请求路由到真实的节点上。最常用的有哈希取模,一致性哈希算法等。这里对他们的做一些介绍及提供PHP实现。场景举例:分布式缓存服务器路由1、哈希取模算法对缓存key进行hash得到结果取余数 (hash() modN):对机器编号从0到N-1,按照自定义的hash()算法,对每个请求的hash()值按N取模,得到余数i...转载 2019-10-14 14:04:14 · 149 阅读 · 0 评论 -
分布式系统
互联网 70%的网站以下图上图就很清晰地展现了一个最常见的PHP网站所运行在的环境。从客户端浏览器请求到收到页面的大致流程:1、客户端向域名/IP的80端口通过HTTP协议发出请求,请求指定url;2、Nginx/Apache分析请求url,判断是静态资源则直接返回静态资源,判断是PHP脚本则向PHP请求解释PHP脚本;3、PHP脚本解释时,如果需要操作数据库,则会通过My...原创 2019-10-14 13:54:56 · 94 阅读 · 0 评论 -
php分布式部署
普通的Web开发,常用的模式就是用户登录之后,登录状态信息保存在Session中,用户一些常用的热数据保存在文件缓存中,用户上传的附件信息保存在Web服务器的某个目录上。这种方式对于一般的Web应用,使用很方便,完全能够胜任。但是对于高并发的企业级网站,就应付不了了。需要采用Web集群实现负载均衡。 使用Web集群方式部署之后,首要调整的就是用户状态信息与附件信息。用户状态不能再保存到Ses...原创 2019-10-14 13:45:48 · 708 阅读 · 0 评论