分布式
文章平均质量分 76
惜暮
这个作者很懒,什么都没留下…
展开
-
1. 大型网站技术架构论述
2017-1-4 之前就拜读就阿里李智慧老师的大作《大型网站技术架构 核心原理与案例分析》,之前只是简单的通读了一下,最近正好抽出时间,再次精读一下并做个总结。1. 大型网站架构演化大型网站软件系统的特点高并发、大流量;高可用(7x24小时不间断服务)海量数据;用户分布广泛、网络情况复杂;安全环境恶劣;需求快速变更,发布频繁;渐进式发展大型网站架构烟花发展历程1.初始阶段的网站架构原创 2017-01-04 16:35:50 · 587 阅读 · 0 评论 -
【一致性协议算法】2PC和3PC
分布式一致性2PC和3PC2PC-两阶段提交协议强一致性算法阶段一提交事务请求投票阶段阶段二执行事务提交执行阶段执行事务提交投票通过中断事务优缺点3PC-三阶段提交协议阶段一CanCommit判断各个参与者是否是alive的阶段二PreCommit执行事务预提交阶段一通过中断事务阶段一不通过阶段三Do Commit提交事务执行事务提交阶段二通过中断事务Attention原创 2017-08-30 10:06:26 · 1477 阅读 · 0 评论 -
[大型网站系统与Java中间件实践]--分布式服务框架(RPC)
本文涉及到的内容: (1)架构中引入服务框架的概念 (2)服务框架的设计与实现 (3)服务框架在实战中的优化 (4)为服务框架护航的服务治理 其实这一篇博客就是介绍分布式服务框架的设计与实现原理,当然只是一些原理的介绍,具体的实现还得我们自己去开发。本文思路来源于《大型网站系统与Java中间件实践》一书。1. 架构中引入服务框架的概念在最初的网站中,业务都是直接访原创 2017-02-26 20:39:28 · 2224 阅读 · 0 评论 -
[大型网站系统与Java中间件实践]--构建Java中间件的基础
本文主要包括以下内容: (1)Java中间件的定义与三大类型 (2)构建Java中间件涉及到的Java基础知识 (3)分布式系统中的Java中间件 本文涉及到的具体知识并不会在本文博客中给出,很多都在其余博客中进行了讲解,比如构建Java中间件涉及到的Java基础知识,本文只是做一个概括。1.Java中间件的定义与三大类型在前面我们讲了大型网站的发展路程,从数据库的读写原创 2017-02-26 15:34:15 · 1168 阅读 · 0 评论 -
[大型网站系统与Java中间件实践]--大型网站系统的演进
今天读了下 《大型网站系统与Java中间件实践》 这本书,然后对大型网站系统的演进做了一个演进,画了一个思维导图,分享如下:具体的图片如果不清晰可以点击这个链接:原创 2017-02-26 14:37:56 · 761 阅读 · 0 评论 -
7. 常见的简单负载均衡算法以及Java实现
读完本文你将知道: 1. 什么是负载均衡? 2. 负载均衡的几种简单实现: (1) 轮询法(Round Robin) (2)随机法(Random) (3)源地址Hash法(Hash) (4)加权轮询法(Weight Round Robin) (5)加权随机法(Weight Random) (6)最小连接数法(Least Connections)1.原创 2017-02-07 21:16:19 · 4701 阅读 · 1 评论 -
Redis-2.8.19 安装使用
一. 安装1/到官网下载最新stable版2/解压源码并进入目录3/ make4/ 可选 make test (可能出现need tcl>8.4,yum install tcl)5/安装到指定目录,如 /usr/local/redis(config)make PREFIX=/usr/local/redis install二. 运行1. redis的运原创 2016-05-27 14:56:21 · 1850 阅读 · 0 评论 -
6. 一致性Hash 算法的Java实现
在上一篇博文里面讲到通过一致性hash算法解决余数hash算法的伸缩性差的问题,保证新增缓存服务器时能够有尽量多的请求命中原来路由到的服务器。但是没有十全十美的办法,好的算法其实现的复杂度必然也会增加,下面研究一下一致性hash算法的Java实现方案。数据结构的选取一致性hash算法中最重要的就是那个2^32的hash环,,根据结点名称的hash值将 服务器结点放在hash环上。那么整数环应该取什么原创 2017-01-06 10:19:12 · 1492 阅读 · 0 评论 -
5. 分布式缓存中的一致性Hash 算法
在分布式缓存服务器集群中,所有的缓存服务器中缓存的数据各不相同,这时路由算法就至关重要了,路由算法负责根据应用程序输入的缓存数据KEY计算得到应该将数据写入到哪台缓存服务器(写缓存) 或则 应该从哪台缓存服务器读取数据(读缓存)。也就是说根据KEY存入某台缓存服务器S1,当应用使用同样的Key时能从这台缓存服务器S1中读出缓存。这时的路由算法和负载均衡算法一样至关重要,路由算法决定着究竟该访问集群原创 2017-01-05 16:47:27 · 2116 阅读 · 0 评论 -
4. 大型网站核心架构之网站的伸缩性架构
网站的伸缩性:指不需要改变网站的软硬件设计,仅通过改变部署的服务器数量就可以扩大或则缩小网站的服务处理能力。应用服务器集群的伸缩性设计负载均衡是网站必不可少的基础技术性手段,既可以实现网站的伸缩性也可以改善网站的可用性。其常见的实现方式有以下几种:1.Http重定向负载均衡利用http的重定向协议实现负载均衡。原理如下图: 图中http重定向服务器是一台很普通的服务器,唯一的功能就是根据用户的h原创 2017-01-05 15:48:12 · 329 阅读 · 0 评论 -
3. 大型网站核心架构之网站的高可用架构
网站的可用性:描述网站可有效访问的特性高可用的网站架构网站的高可用架构设计的主要目的是:保证服务器硬件故障时服务依然可用、数据依然保存并能够访问。实现上诉高可用架构主要方式:数据和服务的冗余备份及失效转移。服务器宕机就切换到其他可用服务器,磁盘损坏就从备份磁盘读取数据。高可用的应用应用层主要是处理网站应用业务逻辑,应用的一个显著特点就是:应用的无状态性。1、使用负载均衡进行无状态服务的失效转移:H原创 2017-01-05 14:42:21 · 465 阅读 · 0 评论 -
2. 大型网站核心架构之网站的高性能架构
在系统需求中除了功能需求外,软件架构需要的关注点还包括: 高性能; 高可用; 伸缩性; 扩展性; 安全性。 下面的几篇博文将围绕这5个点来逐一分析。瞬时响应:网站的高性能架构1. 性能测试性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准。1、从用户的角度来说,网站性能就是用户感受到的网页的响应速度的快慢。 2、 从开发人员的角度来说包括响应延迟原创 2017-01-04 17:17:09 · 436 阅读 · 0 评论 -
【大型分布式网站架构设计与实践】-系统稳定性
这部分主要涉及的内容: 在线日志分析 2.集群监控 流量控制 性能优化 Java应用故障的排查 1. 在线日志分析主要是cat、grep、less、wc、uniq等命令, 以及awk、shell脚本。2. 集群监控成熟稳定的系统一般都要对集群运行的机器哥哥指标进行收集,如系统的load、CPU利用率、IO繁忙程度、网络traffic、内存利用率、应用心跳。监控指标(原创 2017-09-18 09:15:38 · 1002 阅读 · 0 评论