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

分布式系统设计注意点相关推荐

  1. 分布式系统设计原理与方案Dubbo+Zookeeper+Spring整合

    2019独角兽企业重金招聘Python工程师标准>>> 一直在思考分布式系统设计的问题,业务对象原封不动的情况下部署在客户端和服务器端,可以根据配置文件选择是连接服务器还是连接本地的 ...

  2. 分布式系统设计原理与方案

    一直在思考分布式系统设计的问题,业务对象原封不动的情况下部署在客户端和服务器端,可以根据配置文件选择是连接服务器还是连接本地的数据库,这个问题让我绞尽脑汁,我总是设想的客户端与服务器端通信的方式是最低 ...

  3. 云原生时代|分布式系统设计知识图谱(内含 22 个知识点)

    我们身处于一个充斥着分布式系统解决方案的计算机时代,无论是支付宝.微信这样顶级流量产品.还是区块链.IOT等热门概念.抑或如火如荼的容器生态技术如Kubernetes,其背后的技术架构核心都离不开分布 ...

  4. 高并发服务端分布式系统设计概要(上)

    高并发服务端分布式系统设计概要(上) ======张峻崇 原创.转载请注明出处.====== 又是快一年没写博客了,2013年也只剩尾巴,也不知道今年都忙了些什么.写这篇文章的目的,主要是把今年以来学 ...

  5. 云原生时代|分布式系统设计知识图谱(内含22个知识点)

    我们身处于一个充斥着分布式系统解决方案的计算机时代,无论是支付宝.微信这样顶级流量产品.还是区块链.IOT等热门概念.抑或如火如荼的容器生态技术如Kubernetes,其背后的技术架构核心都离不开分布 ...

  6. 分布式系统设计系列 -- 基本原理及高可用策略

    "分布式系统设计"系列第一篇文章,这篇文章主要介绍一些入门的概念和原理,后面带来一些高可用.数据分布的实践方法!! 各位亲,如果你们觉得本文有还不错的地方,请点击"投一票 ...

  7. 二、分布式系统设计策略

    二.分布式系统设计策略 分布式系统本质是通过低廉的硬件攒在一起以获得更好的吞吐量.性能以及可用性等. 在分布式环境下,以下几个问题是普遍关心的,我们称之为设计策略: 如何检测当前节点还活着? 如何保障 ...

  8. 分布式系统设计权衡之CAP(一致性,可用性,分区容错性)

    https://blog.csdn.net/Sun_P0/article/details/50221787 写在最前: 1.为什么学习并记录分布式设计理念一系列相关的东西 在日常工作中系统设计评审的时 ...

  9. 腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面

    1.引言 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ.微信.淘宝.那么,一个大型互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂? ...

最新文章

  1. python列表去重效率_python面试题 - osc_yztbpii7的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. html元素和属性,HTML常用元素和属性(一)
  3. nginx 限制上传文件大小
  4. Ixia张林辉:测试系统让SDN更“迷人”
  5. 成为技术大牛,只能靠天赋吗?
  6. android注销广播接收器,使用广播接收器 - chuiyuan的个人页面 - OSCHINA - 中文开源技术交流社区...
  7. mysql c接口_mysql C语言API接口及实例
  8. Linux 下使用Postgre中的命令,要使用postgres这个用户
  9. zigbee协议栈-端点
  10. matlab画散点图
  11. DX12之手撸GPU Driven Pipeline
  12. Word失去焦点卡顿,从其他地方回到Word转圈圈
  13. 从python爬虫以及数据可视化的角度来为大家呈现“227事件”后,肖战粉丝的数据图
  14. linux u盘格式化失败怎么办,u盘无法完成格式化怎么办
  15. 使用ADF Faces 之二:数据可视化组件 Thematic Map
  16. hdu1348 Wall
  17. 希望计算机专业都知道这些优质比赛
  18. git stash 部分文件
  19. 写综述前应如何快速、高效地阅读相关文献?
  20. PHP 常用函数 - 其他常用函数

热门文章

  1. lodash源码分析之获取数据类型
  2. Spring Boot 动态数据源(多数据源自己主动切换)
  3. 如何安全实现“记住我”的功能
  4. 在熊市中厚积薄发 比特币现金加大基础设施、应用程序和协议创新力度
  5. BCH易于使用不只是说说而已
  6. Java - PriorityQueue
  7. 2017敏捷沙滩大会:完美软件,测量持续交付,以及探索未来
  8. 我国将明确侵犯个人信息定罪及量刑标准
  9. string之substring的用法
  10. 移动端与PHP服务端接口通信流程设计(基础版)