- 博客(426)
- 资源 (67)
- 收藏
- 关注
转载 别再对MySQL分库分表了,试试TiDB!
TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。TiDB是 PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用
2023-10-19 15:53:20
367
1
原创 Linux系统远程挂载Mac OS系统目录方法
文章目录1、Series1.1、series的创建1.1.1、来自构造函数pandas.Series( data, index, dtype, copy)1.1.2、从ndarray创建一个系列1.1.3、从字典创建一个系列1.1.4、从标量创建一个系列1.2、series的查找、修改和删除2、DataFrame2.1、DataFrame创建2.1.1、可以使用构造函数创建 pandas.DataFrame( data, index, columns, dtype, copy)2.1.
2023-07-03 17:15:58
1332
转载 Linux工具进阶 - 性能优化
可以在一段时间内,多执行几次pstack,若发现代码栈总是停在同一个位置,那个位置就需要重点关注,很可能就是出问题的地方;除了上面介绍的工具,还有一些比较全面的性能分析工具,比如sar(Linux系统上默认不安装,需要手动安装下);性能优化的核心是找出系统的瓶颈点,问题找到了,优化的工作也就完成了大半;进一步的监视内存使用情况,可使用vmstat工具,实时动态监视操作系统的内存和虚拟内存的动态变化。系统响应变慢,首先得定位大致的问题出在哪里,是IO瓶颈、CPU瓶颈、内存瓶颈还是程序导致的系统问题;
2023-04-12 17:02:17
242
转载 HAProxy Nginx LVS对比
Nginx对请求的异步处理可以帮助节点服务器减轻负载,假如使用 apache直接对外服务,那么出现很多的窄带链接时apache服务器将会占用大 量内存而不能释放,使用多一个Nginx做apache代理的话,这些窄带链接会被Nginx挡住,apache上就不会堆积过多的请求,这样就减少了相当多的资源占用。Nginx完全的功能,配置也不那么清晰易读。具体的应用还得具体分析,如果是比较小的网站(日PV小于1000万),用Nginx就完全可以了,如果机器也不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;
2022-11-10 17:35:14
247
原创 mac shell终端命令行快捷键
Ctrl + d 删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit;处理多行标准输入时也表示eof)Ctrl + h 退格删除一个字符,相当于通常的Backspace键Ctrl + u 删除光标之前到行首的字符Ctrl + k 删除光标之前到行尾的字符Ctrl + c 取消当前行输入的命令,相当于Ctrl + BreakCtrl + a 光标移动到行首(Ahead of li...
2020-10-14 10:11:56
1480
转载 ETCD背后的Raft一致性算法原理
项目中使用ETCD来实现服务发现和配置信息的存储,最近我抽空研究了一下ETCD和背后的一致性算法 — Raft算法的逻辑。ETCD是什么ETCD是一个go语言实现的高可靠的KV存储系统,支持HTTP协议的PUT/GET/DELETE操作; 为了支持服务注册与发现,支持WATCH接口(通过http long poll实现); 支持KEY持有TTL属性; CAS(compare and swap)操作; 支持多key的事务操作; 支持目录操作简单的来说,ETCD可以看做是一个no sql的存
2020-06-29 16:03:10
598
转载 Kafka史上最详细原理总结
KafkaKafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/ngi...
2020-06-22 19:18:47
641
转载 MySQL数据库面试题(2020最新版)
文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)索引有哪几种类型?索引的数据结构(b树,hash)索引的基本原理索引算法有哪些?索引设计的原则?创建索引的原则.
2020-06-16 14:38:27
630
转载 python中的asyncio使用详解
在python的异步实践中,每次看asynicio都会有新的收获,本篇总结一下最近看这个库的使用。一些核心概念异步函数的定义普通函数的定义是使用def关键词,异步的函数,协程函数(Coroutine)本质上是一个函数,特点是在代码块中可以将执行权交给其他协程,使用async def来定义 123456789 # 普通函数定义def add2(x): print(x+2) return x+2# 异步函数的定义...
2020-05-22 16:36:41
19567
3
转载 百亿流量微服务网关的设计与实现
百亿流量微服务网关的设计与实现本文从百亿流量交易系统微服务网关(API Gateway)的现状和面临的问题出发,阐述微服务架构与 API 网关的关系,理顺流量网关与业务网关的脉络,分享 API 网关知识与经验。API 网关概述“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。”——David Wheeler分布式服务架构、微服务架构与 API 网关1. ...
2020-04-13 16:56:18
961
转载 GOF 23种设计模式详解
创建型模式工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。...
2020-04-03 11:43:52
1083
转载 设计模式的六大原则
总原则-开闭原则对扩展开放,对修改封闭。 在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。 想要达到这样的效果,我们需要使用接口和抽象类等。1、单一职责原则 不要存在多于一个导致类变更的原因,也就是说每个类应该实现单一的职责,否则就应该把类拆分。2、里氏替换原则(Liskov Subst...
2020-03-31 11:17:46
198
转载 日志采集中的关键技术分析
概述日志从最初面向人类演变到现在的面向机器发生了巨大的变化。最初的日志主要的消费者是软件工程师,他们通过读取日志来排查问题,如今,大量机器日夜处理日志数据以生成可读性的报告以此来帮助人类做出决策。在这个转变的过程中,日志采集Agent在其中扮演着重要的角色。作为一个日志采集的Agent简单来看其实就是一个将数据从源端投递到目的端的程序,通常目的端是一个具备数据订阅功能的集中存储,这么做的目的...
2020-03-27 18:26:32
774
转载 Prometheus 通过 consul 实现自动服务发现
文章目录1、Consul 介绍2、环境、软件准备3、Consul 安装配置3.1、源码安装3.2、Docker 安装4、API 注册服务到 Consul5、配置 Prometheus 实现自动服务发现6、配置 relabel_configs 实现自定义标签及分类1、Consul 介绍Consul 是基于 GO 语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理...
2020-01-13 18:22:46
489
转载 etcd 微服务注册与发现
随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用、强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。etcd为解决这类问题带来了福音...
2020-01-13 17:04:29
1273
转载 gRPC分享
gRPC分享概述gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行...
2019-09-30 18:04:13
755
转载 《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
660
转载 设计模式六大原则
目录:设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责...
2019-09-18 18:03:33
243
转载 Raft协议实战之Redis Sentinel的选举Leader源码解析
Raft协议是用来解决分布式系统一致性问题的协议,在很长一段时间,Paxos被认为是解决分布式系统一致性的代名词。但是Paxos难于理解,更难以实现,诸如Google大牛们开发的分布式锁系统Chubby都遭遇了很多坑。Raft协议设计的初衷就是容易实现,保证对于普遍的人群都可以十分舒适容易的去理解。另外,它必须能够让人形成直观的认识,这样系统的构建者才能够在现实中进行必然的扩展。本文从Redi...
2019-09-11 20:02:48
186
转载 性能优化
性能优化目录性能优化 分析系统瓶颈 分析内存瓶颈 分析IO瓶颈 分析进程调用 优化程序代码 gprof使用步骤 其它工具 性能优化的核心是找出系统的瓶颈点,问题找到了,优化的工作也就完成了大半; 这里介绍的性能优化主要从两个层面来介绍:系统层面和程序层面;3.1. 分析系统瓶颈系统响应变慢,首先得定位大致的问题出在哪里,是IO瓶颈、CPU瓶颈、...
2019-09-09 16:37:02
283
转载 《深入理解RocketMQ》- MQ消息的投递机制
0. 前言RocketMQ的消息投递分为两种:一种是生产者往MQ Broker中投递;另外一种则是MQ broker 往消费者投递(这种投递的说法是从消息传递的角度阐述的,实际上底层是消费者从MQ broker 中Pull拉取的)。本文将从模型的角度来阐述这两种机制。1. RocketMQ的消息模型RocketMQ 的消息模型整体并不复杂,如下图所示:一个Topi...
2019-09-09 15:40:21
546
1
转载 python 进程内存增长问题, 解决方法和工具
表现 解决方法 定位问题过程 gdb-python: 搞清楚python程序在做什么 准备gdb 接入gdb 查看线程 查看调用栈 coredump 其他命令 pyrasite: 连接进入python程序 psutil 查看python进程状态 guppy 取得内存使用的各种对象占用情况 无法回收的对象 不可回收对象的例子 ???? ...
2019-09-09 11:12:07
2337
转载 Python列表:初学者应该懂得操作和内部实现
这篇文章将深入到列表的操作以及内部实现。简单的操作掌握了列表的创建以及访问,我们接下来去了解下更重要的一点,“列表的增删改”。在绝大多数情况下,你创建的列表是动态的。这就意味着你的列表创建之后,会随着程序的运行增删元素。比如,你创建了家庭的年龄列表,随着时间的推移,对应成员的年龄元素会递增,再或者家里娶了媳妇那么这个列表是不是就应该增加一个呢?0x00、添加元素在实际的代码中,...
2019-09-07 12:15:02
250
转载 使用gc、objgraph干掉python内存泄露与循环引用!
目录一分钟版本 python内存管理 引用计数 垃圾回收 gc module 内存泄露 objgraph 查找内存泄露 循环引用 定位循环引用 消灭循环引用 总结 references正文 Python使用引用计数和垃圾回收来做内存管理,前面也写过一遍文章《Python内存优化》,介绍了在python中,如何profile内存使用情况,并做出...
2019-09-05 17:31:38
584
转载 Socket超时浅析
Socket超时浅析 套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听”进入的连接;So...
2019-09-05 13:13:45
4503
转载 深度解析HTTPS原理
概述:HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近两年,Google、Baidu、Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS,这也...
2019-09-04 17:35:45
209
转载 看完这篇文章,我奶奶都懂了HTTPS原理
HTTP 存在的问题那我们平时上网可能会存在哪些风险呢? 泄密,个人隐私、账户密码等信息可能会被盗取。 篡改,收到的数据可能被第三方修改过,或被植入广告等。 假冒,访问的站点非目标服务器站点。如域名欺骗、域名劫持、钓鱼网站等。 可能住你隔壁穿人字拖、说话都略显羞涩的小王,一到夜深人静的时候就开始偷窥你的一举一动!陪你一起看 91 某社区的电影还好,万一窃取了各...
2019-09-04 17:18:42
366
转载 互联网架构学习(二)-架构核心技术
架构高可用什么是架构的高可用从哪些方面来保证高可用硬件服务器保证高可用。软件应用程序保证高可用。高可用的手段无状态化设计,随时可进行服务的上线和下线操作。幂等性设计,重要交易需要设置幂等设计,同一个请求发送多次不会受到影响。异步设计,适当引入队列,非紧急的计算或者不需要同步返回的可以使用队列进行异步处理。缓存,容错,系统需要支持限流,失败重试等机制,确保一次不成功,会自...
2019-09-04 15:17:29
481
转载 微服务架构之「 访问安全 」
应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后,项目的复杂度提升了N个级别,相应的,微服务的安全工作也就更难更复杂了。并且我们以往擅长的单体应用的安全方案对于微服务来说已经不再适用了。我们必须有一套新的方案来保障微服务架构的安全。在探索微服务访问安全之前,我们还是先来回顾一下单体应用的安全是如何实现的。一、传统单体应用如何实现「访问安全」?...
2019-09-03 15:01:22
232
转载 不懂高性能的负载均衡设计?没关系,架构师带你飞
在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,其重要性不言而喻。一、什么是负载均衡?早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求。随着现在互联网的流量越来越大,稍微好一点的系统,访问量就非常大了,并且系统功能也越来越复杂,那么单台服...
2019-09-03 14:34:53
147
转载 微服务架构之「 配置中心 」
在微服务架构的系列文章中,前面已经通过文章《微服务架构之「服务网关 」》介绍过了在微服务中服务网关的原理和应用,今天这篇文章我们继续来聊一聊微服务中另外一个重要模块:「 配置中心 」。后面还会继续介绍 服务框架、服务监控、服务治理等。还是那句话,只有将这些基础设施弄清楚了,微服务实践的道路才能走的稳、走的远。「配置中心」,顾名思义,就是用来统一管理项目中所有配置的系统。虽然听起来很简单,但...
2019-09-03 14:31:23
254
转载 微服务架构之「 API网关 」
在微服务架构的系列文章中,前面已经通过文章《架构设计之「服务注册 」》介绍过了服务注册的原理和应用,今天这篇文章我们来聊一聊「 API网关 」。「 API网关 」是任何微服务架构的重要组成部分。有了它我们可以在一个独立的模块上方便的处理一些非业务逻辑,可以让微服务本身专注在自身特定的功能上,使得每个微服务的开发更容易和更快速。后面还会有文章继续介绍 配置中心、服务框架、服务监控、服务追...
2019-09-03 14:26:58
178
转载 微服务架构之「 服务注册 」
微服务架构是一个庞大复杂的工程,为什么说它庞大复杂呢?因为想要做好微服务,就必须先要建设好微服务所需的一系列基础设施和组件。我在前面的文章《架构设计之「 微服务入门 」》中已经初步介绍过了这些组件,包括:服务注册、服务网关、配置中心、服务框架、服务监控、服务追踪、服务治理等。只有将这些基础设施搭建完善了,微服务实践的道路才能走的稳、走的远。后面的文章中会依次把每一个基础组件都详细分析一下。...
2019-09-03 14:25:15
321
1
转载 微服务架构之「 容错隔离 」
我们知道,在单体应用的架构下一旦程序发生了故障,那么整个应用可能就没法使用了,所以我们要把单体应用拆分成具有多个服务的微服务架构,来减少故障的影响范围。但是在微服务架构下,有一个新的问题就是,由于服务数变多了,假设单个服务的故障率是不变的,那么整体微服务系统的故障率其实是提高了的。比如:假设单个服务的故障率是0.01%,也就是可用性是99.99%,如果我们总共有10个微服务,那么我们整体的...
2019-09-03 14:23:07
232
转载 微服务架构之「 调用链监控 」
「 调用链监控 」是在微服务兴起后才有的一种新流行的监控模式。因为在我们传统单体应用的项目中,不存在服务链/调用链的概念,所以也就根本没有调用链监控的需求了。当我们开始微服务架构之后,我们的很多服务变成分布式的了,并且我们对服务进行了拆分,拆分之后,用户的一个请求进来,会依次经过不同的服务节点进行处理,处理完成后再返回结果给用户。那么在整个处理的链条中,如果有任何一个节点出现了延迟或者问题...
2019-09-03 14:21:13
296
转载 微服务架构之「 监控系统 」
在微服务架构的系列文章中,前面已经通过文章分别介绍过了微服务的「服务注册 」、「服务网关 」、「配置中心 」,今天这篇文章我们继续来聊一聊另外一个重要模块:「 监控系统 」。因为在微服务的架构下,我们对服务进行了拆分,所以用户的每次请求不再是由某一个服务独立完成了,而是变成了多个服务一起配合完成。这种情况下,一旦请求出现异常,我们必须得知道是在哪个服务环节出了故障,就需要对每一个服务,以及...
2019-09-03 14:17:34
231
转载 实时应用监控平台--CAT
CAT 简介CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。 CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、...
2019-09-03 14:07:30
484
转载 十一:对微服务调用链监控的理解
目录微服务专栏地址目录1. 简介2. 什么是调用链3. 为什么要监控调用链4. 要监控哪些方面5. 调用链监控原理是什么5.1 监控原理图6. 有什么技术解决方案6.1 解决方案6.2 对比7. 监控技术选型如何选择1. 简介微服务的调用链监控是解决微服务的复杂性带来的一系列问题的强有效手段之一,从一下几个方面来先理解微服务调用链监控相关:简介...
2019-08-29 15:56:53
737
深入理解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
《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关注的人