- 博客(14)
- 资源 (41)
- 收藏
- 关注
原创 正向代理和反向代理
正向代理,代理客户端发送请求,例如,我们局域网内的所有主机都不能上网,但是该局域网内有一台双网卡主机A能访问外网,这时可以在双网卡主机A上启动代理服务,在局域网内其他想访问外网的主机上配置代理服务,这样它们就可以上网了;因为这些原本无法访问外网的主机会先将上网请求发送到代理服务器A上,由代理服务A替它们访问相应的外网资源,并将请求到的网络资源返回给请求用户;对于服务端而言,它只能看到代理服务器,并不
2016-12-19 17:56:58 1037
原创 为系统扩展而采取的一些措施——异步
同步与互斥,提到异步必然要涉及到与之对应的另一个词“同步”,而提到“同步”很多人也会联想到另一个词“互斥”,同步是指多个操作之间产生了依赖或者先后顺序关系,互斥是指多个操作需要访问同一个资源,而这个资源又不能让多个操作同时进行,那么这多个操作之间就是互斥关系;同步调用与异步调用,在服务设计时,同步调用是指调用方在发起调用之后必须一直等待直到调用结果返回才能进行后续的操作,异步调用是指调用发起方在发
2016-12-17 17:33:20 1567
原创 为系统扩展而采取的一些措施——缓存
缓存 1.1 缓存刷新机制,缓存刷新是指什么时候把数据库中的数据加载到缓存 (1) 定期刷新; (2) 缓存命中失败时刷新; 1.2 在有缓存时的数据写入方式: (1) 同步写入,即缓存和数据库同时被写入,即在应用层进行双写操作,这种方式可以有效保证缓存和DB中数据的一致性,由于这种方式即要更新缓存同时还要更改数据库,其访问效率相对较低,适合读多写少的场景; (2) 异步更新机制,在写操
2016-12-16 20:24:30 1017
原创 架构设计的立方体扩展
本文是对《架构即未来》一书第20章的总结; 1. 立方体扩展是指X、Y、Z轴三个方向的扩展方式; 2. X轴扩展,指水平扩展,这种方式简单易于实现,它要求服务必须是无状态的,部署1个和部署多个是一样的,这样可以根据系统当前的业务承载量来部署所需数量的服务实例,一般情况下,该业务需要与服务注册、治理、发现机制相结合,当一个服务A被水平扩展了一个新实例ai时,所依赖它(调用了它)的其他服务C需要
2016-12-15 20:30:30 1523 1
原创 构建故障隔离的架构
本文是对《架构即未来》一书第19章的总结; 1. 什么是故障隔离的架构?个人理解,就是一个系统按照其功能划分为几个独立的子模块,子模块之间互不依赖,互不通信;这里的互不通信是指模块之间不要采用同步调用方式,可以采用中间模块转交的异步方式。 2. 故障隔离的架构有什么好处? (1) 限制故障的影响范围,采用了故障隔离的架构,每个子模块的故障至影响它本身而不会波及到其他模块; (2) 便于故
2016-12-15 20:14:43 4835
原创 性能测试、 障碍条件和回滚
第17章 性能测试 1. 性能测试是指把负载和用户需求施加在系统上,以测量其相应时间和稳定性的过程,它是为了验证应用能够满足预期的性能目标;一般需要关注响应时间、吞吐量和资源利用率这三类指标; 2. 性能测试的第一步是建立标准,没有标准的测试是没有意义的; 3. 性能测试的环境应该与研发、QA和准生产等环境分开;之所以要把性能测试环境独立开是因为性能测试需要对整个系统施加压力,如果系统中
2016-12-14 20:38:55 1114
原创 确定风险
本文是对《架构即未来》一书第16章的总结; 1. 风险管理是提高和保持可用性及可扩展型的最基本和最重要的方面。 2. 测试是预先发现风险并有效降低风险概率的有效方法,但是任何的测试都无法彻底发现所有的风险点; 3. 在AKF中倾向于把风险看成一个“多元化的产品”,将风险分成两部分: (1)风险发生的概率,它有两部分决定: [1] 本次变更(版本升级)的变更量,即这次改动有多大? [
2016-12-14 18:24:16 1007
原创 聚焦核心竞争力:自建与外购
本文是对《架构即未来》一书第15章的学习与总结; 1.设计可扩展性的系统的两个关键:水平扩展和为了不可预知;水平扩展是我们服务能扩展的首要条件,未来不可预知是指在设计服务时要做好隔离,做好随时能把一个复杂组件替换掉的准备;这其实还是设计的基本功,要能从一堆复杂问题准确识别出一个组件,确定它的边界,处理好组件内和组件外的通信接口,能识别并设计好一个组件是满足不可预知条件的前提; 2.在对一个组件是
2016-12-12 20:50:34 1663
原创 团队的组织形式
本文是对《架构即未来》第2章的总结 1. 团队组织的核心就是人员的管理问题 2. 规范和标准对于一个团队来说非常重要,个人理解,它能保障团队成果的质量底线,如果一个团队不能养成遵守规范和标准的习惯,那这个团队的产出成果就会良莠不齐;规范和标准是一个团队由游击队走向正规军的标志; 3. 团队中的任何工作都要职责清晰、明确;如果全凭自觉,靠吃大锅饭的形式,当任务下来的时候就不会有人觉得自己对
2016-12-09 20:29:24 6858
原创 架构设计的原则
本文是对《架构即未来》一书第12章的总结; 1. 书中总结了一个好的架构应该具备的特点,但是有些特点个人感觉是重复的,中间起来应该有以下3个特点: (1) 具体的、可执行的;好的架构不应有太多虚的东西,它应该能够切实可执行起来用于指导开发; (2) 可度量的;平时最关注的是一个架构所能承载的性能,它应该是可以测试出来; (3) 可达到的;架构设计不应脱离实际,一个很美好但是无法实现的架构是
2016-12-07 20:39:32 2940
原创 如何估算一个分布式系统的容量
本文是对《架构即未来》一书第11章的总结; 1. 读完本章最大的收获是了解了应该如何评估一个系统的能力以及应该怎样为一个线上系统预留发展空间。在系统上线的时候,我们经常被问到的几个问题就是你的系统能承受多大的用户量?我们当前应该部署多少服务才能承载公司的当前和未来一段时间的业务? 2. 文中给出若干步骤用于预估系统的预留空间,将其总结如下: (1)确定当前的系统负载量,包括了解系统的组成以
2016-12-07 19:39:22 5626
原创 生产环境的变更管理
变更包含广阔的范围,它不仅包括软件的升级还包括对当前环境的任何软、硬件改动,包括配置、操作系统、数据库、防火墙、网络设备等等,对于研发来说,变更最主要的还是版本升级;生产环境的变更是事故发生的主要原因,经验指出,生产环境中的事故,有很大一部分是由于软、硬件的变更而引起;这也与我们的实际工作场景相似,我们在实际工作中,一旦遇到生产环境的问题,首先要问的就是最近有没有谁对系统做过任何改动?例如版本升级
2016-12-06 20:07:57 3935
原创 管理故障和问题
本文是对《架构即未来》第8章的总结。 1. 书中的的问题翻译为根源更合适。 2. 故障是指造成服务异常的事件,包括停止服务、服务效率降低等;根源是导致故障的原因;同一个根源可能导致多种不同的故障; 3. 解决故障属于紧急事情,找到根源属于重要事情,在时间管理的四象限法制中,紧急事情优先级要高于重要事情;在实际工作中也基本如此:一旦运维发现线上服务出现问题,首先想做的事情就是重启服务,尽量
2016-12-05 19:44:58 1464
原创 流程在团队管理中的作用
本文是对《架构即未来》一书第7章的总结与思考1. 个人认为书中的过程改为流程更为合适;2. 流程是什么?个人理解:为解决特定问题而形成的套路似的解决办法,只要大家遇到这样的问题,按照流程中的步骤一步步执行,就能确保问题解决。3. 流程能帮助我们做哪些事情?个人理解:(1)规范每个人的操作行为,让问题的解决更为规范、可控;其实每个人都有自己的主管思维和理解,每个人看问题的角度可能都不一样,他们所形成
2016-12-02 20:47:06 1797
Mosq_Tester-20190722.zip
2020-02-01
mqtt-websocket的js测试客户端
2018-11-24
mosquitto-websocket-client
2018-03-15
mosquitto支持websocket的配置
2018-11-24
python-iniparse-0.4-9.el7.noarch.rpm
2018-03-07
SimpleJava、Linux命令行、Java NIO (中文版)、Linux Performance and Tuning Guidelines
2015-01-04
C开源hash代码uthash
2013-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人