分布式系统设计注意点
2019独角兽企业重金招聘Python工程师标准>>>
今天看了陈硕前辈的博客,对分布式系统设计提出的注意几点非常受益匪浅,做点读后笔记。
注意:
1.设计集群要方便重启,能自动连接,重启速度快
2.不要使用生命周期比进程多得ipc,比如共享内存
3.不要使用父子进程传递数据,不如pipe
4.DNS解析不要用,使用自己的名字服务,可用elang编写,使用paxos算法
5.建立维修通道,节点状态,服务进程等
6.分布式系统是以进程为基本单位的。
7.通信模型的编程风格,以消息为事件,采用事件驱动分发,reactor
8.考虑对方失去响应的情况
9.心跳包:包括进程的启动时间和负载,不要单独起心跳线程,而是在工作线程中启动
10.消息格式不要用C STRUCT或是bit fields,避免协议版本,建议使用google protocol buffers,apache thrift的消息打包格式
11.采用正则表达式在运行期间替换,避免重启时编译,部署
12.信号量不要用,读写锁基本不用。
13.建议用一个线程一个消息循环非阻塞模式
14.用心跳包实现重启
15.进程间通信用tcp
16 使用四元组标志唯一进程:ip(hostname):port:start_time_pid
转载于:https://my.oschina.net/yvette/blog/107987
分布式系统设计注意点相关推荐
- 分布式系统设计原理与方案Dubbo+Zookeeper+Spring整合
2019独角兽企业重金招聘Python工程师标准>>> 一直在思考分布式系统设计的问题,业务对象原封不动的情况下部署在客户端和服务器端,可以根据配置文件选择是连接服务器还是连接本地的 ...
- 分布式系统设计原理与方案
一直在思考分布式系统设计的问题,业务对象原封不动的情况下部署在客户端和服务器端,可以根据配置文件选择是连接服务器还是连接本地的数据库,这个问题让我绞尽脑汁,我总是设想的客户端与服务器端通信的方式是最低 ...
- 云原生时代|分布式系统设计知识图谱(内含 22 个知识点)
我们身处于一个充斥着分布式系统解决方案的计算机时代,无论是支付宝.微信这样顶级流量产品.还是区块链.IOT等热门概念.抑或如火如荼的容器生态技术如Kubernetes,其背后的技术架构核心都离不开分布 ...
- 高并发服务端分布式系统设计概要(上)
高并发服务端分布式系统设计概要(上) ======张峻崇 原创.转载请注明出处.====== 又是快一年没写博客了,2013年也只剩尾巴,也不知道今年都忙了些什么.写这篇文章的目的,主要是把今年以来学 ...
- 云原生时代|分布式系统设计知识图谱(内含22个知识点)
我们身处于一个充斥着分布式系统解决方案的计算机时代,无论是支付宝.微信这样顶级流量产品.还是区块链.IOT等热门概念.抑或如火如荼的容器生态技术如Kubernetes,其背后的技术架构核心都离不开分布 ...
- 分布式系统设计系列 -- 基本原理及高可用策略
"分布式系统设计"系列第一篇文章,这篇文章主要介绍一些入门的概念和原理,后面带来一些高可用.数据分布的实践方法!! 各位亲,如果你们觉得本文有还不错的地方,请点击"投一票 ...
- 二、分布式系统设计策略
二.分布式系统设计策略 分布式系统本质是通过低廉的硬件攒在一起以获得更好的吞吐量.性能以及可用性等. 在分布式环境下,以下几个问题是普遍关心的,我们称之为设计策略: 如何检测当前节点还活着? 如何保障 ...
- 分布式系统设计权衡之CAP(一致性,可用性,分区容错性)
https://blog.csdn.net/Sun_P0/article/details/50221787 写在最前: 1.为什么学习并记录分布式设计理念一系列相关的东西 在日常工作中系统设计评审的时 ...
- 腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面
1.引言 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ.微信.淘宝.那么,一个大型互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂? ...
最新文章
- python列表去重效率_python面试题 - osc_yztbpii7的个人空间 - OSCHINA - 中文开源技术交流社区...
- html元素和属性,HTML常用元素和属性(一)
- nginx 限制上传文件大小
- Ixia张林辉:测试系统让SDN更“迷人”
- 成为技术大牛,只能靠天赋吗?
- android注销广播接收器,使用广播接收器 - chuiyuan的个人页面 - OSCHINA - 中文开源技术交流社区...
- mysql c接口_mysql C语言API接口及实例
- Linux 下使用Postgre中的命令,要使用postgres这个用户
- zigbee协议栈-端点
- matlab画散点图
- DX12之手撸GPU Driven Pipeline
- Word失去焦点卡顿,从其他地方回到Word转圈圈
- 从python爬虫以及数据可视化的角度来为大家呈现“227事件”后,肖战粉丝的数据图
- linux u盘格式化失败怎么办,u盘无法完成格式化怎么办
- 使用ADF Faces 之二:数据可视化组件 Thematic Map
- hdu1348 Wall
- 希望计算机专业都知道这些优质比赛
- git stash 部分文件
- 写综述前应如何快速、高效地阅读相关文献?
- PHP 常用函数 - 其他常用函数