- 博客(22)
- 资源 (67)
- 收藏
- 关注
转载 gRPC分享
gRPC分享概述gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行...
2019-09-30 18:04:13 708
转载 《TCP IP详解卷1》12-17章TCP笔记
12章 TCP初步tcp有差错纠正。ip udp只有差错检测(CRC),出错了就重发。 差错纠正一般是用差错纠正码,此外还有别的方法即ARQ协议(Automatic Repeat Request 自动重复请求)12.1 入门介绍12.1.1 ARQ和重传考虑多跳通信信道,有这些差错种类:分组丢失 比特差错 分组重新排序 分组复制最直接处理分组丢失、比特差错(无法自动纠正...
2019-09-18 20:52:18 610
转载 设计模式六大原则
目录:设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责...
2019-09-18 18:03:33 219
转载 Raft协议实战之Redis Sentinel的选举Leader源码解析
Raft协议是用来解决分布式系统一致性问题的协议,在很长一段时间,Paxos被认为是解决分布式系统一致性的代名词。但是Paxos难于理解,更难以实现,诸如Google大牛们开发的分布式锁系统Chubby都遭遇了很多坑。Raft协议设计的初衷就是容易实现,保证对于普遍的人群都可以十分舒适容易的去理解。另外,它必须能够让人形成直观的认识,这样系统的构建者才能够在现实中进行必然的扩展。本文从Redi...
2019-09-11 20:02:48 155
转载 性能优化
性能优化目录性能优化 分析系统瓶颈 分析内存瓶颈 分析IO瓶颈 分析进程调用 优化程序代码 gprof使用步骤 其它工具 性能优化的核心是找出系统的瓶颈点,问题找到了,优化的工作也就完成了大半; 这里介绍的性能优化主要从两个层面来介绍:系统层面和程序层面;3.1. 分析系统瓶颈系统响应变慢,首先得定位大致的问题出在哪里,是IO瓶颈、CPU瓶颈、...
2019-09-09 16:37:02 265
转载 《深入理解RocketMQ》- MQ消息的投递机制
0. 前言RocketMQ的消息投递分为两种:一种是生产者往MQ Broker中投递;另外一种则是MQ broker 往消费者投递(这种投递的说法是从消息传递的角度阐述的,实际上底层是消费者从MQ broker 中Pull拉取的)。本文将从模型的角度来阐述这两种机制。1. RocketMQ的消息模型RocketMQ 的消息模型整体并不复杂,如下图所示:一个Topi...
2019-09-09 15:40:21 505 1
转载 python 进程内存增长问题, 解决方法和工具
表现 解决方法 定位问题过程 gdb-python: 搞清楚python程序在做什么 准备gdb 接入gdb 查看线程 查看调用栈 coredump 其他命令 pyrasite: 连接进入python程序 psutil 查看python进程状态 guppy 取得内存使用的各种对象占用情况 无法回收的对象 不可回收对象的例子 ???? ...
2019-09-09 11:12:07 2195
转载 Python列表:初学者应该懂得操作和内部实现
这篇文章将深入到列表的操作以及内部实现。简单的操作掌握了列表的创建以及访问,我们接下来去了解下更重要的一点,“列表的增删改”。在绝大多数情况下,你创建的列表是动态的。这就意味着你的列表创建之后,会随着程序的运行增删元素。比如,你创建了家庭的年龄列表,随着时间的推移,对应成员的年龄元素会递增,再或者家里娶了媳妇那么这个列表是不是就应该增加一个呢?0x00、添加元素在实际的代码中,...
2019-09-07 12:15:02 227
转载 使用gc、objgraph干掉python内存泄露与循环引用!
目录一分钟版本 python内存管理 引用计数 垃圾回收 gc module 内存泄露 objgraph 查找内存泄露 循环引用 定位循环引用 消灭循环引用 总结 references正文 Python使用引用计数和垃圾回收来做内存管理,前面也写过一遍文章《Python内存优化》,介绍了在python中,如何profile内存使用情况,并做出...
2019-09-05 17:31:38 528
转载 Socket超时浅析
Socket超时浅析 套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接;So...
2019-09-05 13:13:45 4417
转载 深度解析HTTPS原理
概述:HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近两年,Google、Baidu、Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS,这也...
2019-09-04 17:35:45 192
转载 看完这篇文章,我奶奶都懂了HTTPS原理
HTTP 存在的问题那我们平时上网可能会存在哪些风险呢? 泄密,个人隐私、账户密码等信息可能会被盗取。 篡改,收到的数据可能被第三方修改过,或被植入广告等。 假冒,访问的站点非目标服务器站点。如域名欺骗、域名劫持、钓鱼网站等。 可能住你隔壁穿人字拖、说话都略显羞涩的小王,一到夜深人静的时候就开始偷窥你的一举一动!陪你一起看 91 某社区的电影还好,万一窃取了各...
2019-09-04 17:18:42 345
转载 互联网架构学习(二)-架构核心技术
架构高可用什么是架构的高可用从哪些方面来保证高可用硬件服务器保证高可用。软件应用程序保证高可用。高可用的手段无状态化设计,随时可进行服务的上线和下线操作。幂等性设计,重要交易需要设置幂等设计,同一个请求发送多次不会受到影响。异步设计,适当引入队列,非紧急的计算或者不需要同步返回的可以使用队列进行异步处理。缓存,容错,系统需要支持限流,失败重试等机制,确保一次不成功,会自...
2019-09-04 15:17:29 469
转载 微服务架构之「 访问安全 」
应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后,项目的复杂度提升了N个级别,相应的,微服务的安全工作也就更难更复杂了。并且我们以往擅长的单体应用的安全方案对于微服务来说已经不再适用了。我们必须有一套新的方案来保障微服务架构的安全。在探索微服务访问安全之前,我们还是先来回顾一下单体应用的安全是如何实现的。一、传统单体应用如何实现「访问安全」?...
2019-09-03 15:01:22 211
转载 不懂高性能的负载均衡设计?没关系,架构师带你飞
在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,其重要性不言而喻。一、什么是负载均衡?早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求。随着现在互联网的流量越来越大,稍微好一点的系统,访问量就非常大了,并且系统功能也越来越复杂,那么单台服...
2019-09-03 14:34:53 129
转载 微服务架构之「 配置中心 」
在微服务架构的系列文章中,前面已经通过文章《微服务架构之「服务网关 」》介绍过了在微服务中服务网关的原理和应用,今天这篇文章我们继续来聊一聊微服务中另外一个重要模块:「 配置中心 」。后面还会继续介绍 服务框架、服务监控、服务治理等。还是那句话,只有将这些基础设施弄清楚了,微服务实践的道路才能走的稳、走的远。「配置中心」,顾名思义,就是用来统一管理项目中所有配置的系统。虽然听起来很简单,但...
2019-09-03 14:31:23 232
转载 微服务架构之「 API网关 」
在微服务架构的系列文章中,前面已经通过文章《架构设计之「服务注册 」》介绍过了服务注册的原理和应用,今天这篇文章我们来聊一聊「 API网关 」。「 API网关 」是任何微服务架构的重要组成部分。有了它我们可以在一个独立的模块上方便的处理一些非业务逻辑,可以让微服务本身专注在自身特定的功能上,使得每个微服务的开发更容易和更快速。后面还会有文章继续介绍 配置中心、服务框架、服务监控、服务追...
2019-09-03 14:26:58 159
转载 微服务架构之「 服务注册 」
微服务架构是一个庞大复杂的工程,为什么说它庞大复杂呢?因为想要做好微服务,就必须先要建设好微服务所需的一系列基础设施和组件。我在前面的文章《架构设计之「 微服务入门 」》中已经初步介绍过了这些组件,包括:服务注册、服务网关、配置中心、服务框架、服务监控、服务追踪、服务治理等。只有将这些基础设施搭建完善了,微服务实践的道路才能走的稳、走的远。后面的文章中会依次把每一个基础组件都详细分析一下。...
2019-09-03 14:25:15 301 1
转载 微服务架构之「 容错隔离 」
我们知道,在单体应用的架构下一旦程序发生了故障,那么整个应用可能就没法使用了,所以我们要把单体应用拆分成具有多个服务的微服务架构,来减少故障的影响范围。但是在微服务架构下,有一个新的问题就是,由于服务数变多了,假设单个服务的故障率是不变的,那么整体微服务系统的故障率其实是提高了的。比如:假设单个服务的故障率是0.01%,也就是可用性是99.99%,如果我们总共有10个微服务,那么我们整体的...
2019-09-03 14:23:07 211
转载 微服务架构之「 调用链监控 」
「 调用链监控 」是在微服务兴起后才有的一种新流行的监控模式。因为在我们传统单体应用的项目中,不存在服务链/调用链的概念,所以也就根本没有调用链监控的需求了。当我们开始微服务架构之后,我们的很多服务变成分布式的了,并且我们对服务进行了拆分,拆分之后,用户的一个请求进来,会依次经过不同的服务节点进行处理,处理完成后再返回结果给用户。那么在整个处理的链条中,如果有任何一个节点出现了延迟或者问题...
2019-09-03 14:21:13 274
转载 微服务架构之「 监控系统 」
在微服务架构的系列文章中,前面已经通过文章分别介绍过了微服务的「服务注册 」、「服务网关 」、「配置中心 」,今天这篇文章我们继续来聊一聊另外一个重要模块:「 监控系统 」。因为在微服务的架构下,我们对服务进行了拆分,所以用户的每次请求不再是由某一个服务独立完成了,而是变成了多个服务一起配合完成。这种情况下,一旦请求出现异常,我们必须得知道是在哪个服务环节出了故障,就需要对每一个服务,以及...
2019-09-03 14:17:34 218
转载 实时应用监控平台--CAT
CAT 简介CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。 CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、...
2019-09-03 14:07:30 470
深入理解linux内核中文第三版
2015-12-23
BitTorrent-4.4.0 python源码包
2015-08-10
Twisted教程.pdf
2015-02-03
Python爬虫框架Scrapy
2014-12-15
linux多线程编程.doc
2014-11-06
C++ STL文档合集.rar
2014-11-06
C++设计新思维:泛型编程与设计模式之应用.pdf
2014-10-31
C++游戏编程.pdf
2014-10-31
深度探索C++对象模型 中文版) pdf
2014-10-31
C++面向对象多线程编程(中文版).pdf
2014-10-31
《Spark快速大数据分析》[美]卡劳 等(作者) mobi kindle版
2019-05-06
区块链项目开发指南.mobi(kindle版)
2018-04-09
Python核心编程(第3版中文).mobi kindle版
2017-12-05
Introduction to tornado中文教程.mobi kindle版
2017-09-08
腾云:云计算和大数据时代网络技术揭秘-徐立冰.mobi kindle版
2017-09-08
MongoDB权威指南-4933.mobi kindle版
2017-09-08
走进搜索引擎.mobi kindle版
2017-09-08
MySQL技术内幕:InnoDB存储引擎-姜承尧.mobi kindle版
2017-09-08
深入理解Nginx:模块开发与架构解析-陶辉.mobi kindle版
2017-09-08
MySQL性能调优与架构设计-简朝阳.mobi kindle
2017-09-08
Docker技术入门与实战-杨保华+戴王剑+曹亚仑.mobi kindle版
2017-09-08
Linux+Shell命令行及脚本编程实例详解-刘艳涛.mobi kindle版
2017-09-08
实战Nginx取代Apache的高性能Web服务器.mobi kindle版
2017-09-08
研磨设计模式-陈臣.mobi kindle版
2017-09-08
pycrypto二进制文件(免编译)
2016-04-29
Django教程(值得收藏)
2016-02-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人