分布式
文章平均质量分 88
fish_study_csdn
PHP go JAVA python 开发
展开
-
链路追踪之Jaeger安装与使用
官方给出的特性介绍:分布式上下文传递分布式事务监控根本原因分析服务依赖分析性能、延迟优化可扩展性Jaeger的后端为无单点故障设计,可随时根据需要进行扩展;uber每天使用它处理几十亿级别的span。span,表示一个逻辑工作单元,包含有操作名称、起始时间以及操作耗时。span之间可以存在嵌套和并排关系,span之间也有顺序。1原生支持OpenTracing通过span引用以有向无环图表示trace支持强类型的span tag和结构化日志通过baggage支持分布式的上下文原创 2021-10-04 21:17:27 · 1751 阅读 · 0 评论 -
go consul 安装,代码实现微服务注册和发现
1. 什么是服务注册和发现假如这个产品已经在线上运行,有一天运营想搞一场促销活动,那么我们相对应的【用户服务】可能就要新开启三个微服务实例来支撑这场促销活动。而与此同时,作为苦逼程序员的你就只有手动去 API gateway 中添加新增的这三个微服务实例的 ip 与port ,一个真正在线的微服务系统可能有成百上千微服务,难道也要一个一个去手动添加吗?有没有让系统自动去实现这些操作的方法呢?答案当然是有的。当我们新添加一个微服务实例的时候,微服务就会将自己的 ip 与 port 发送到注册中心,在注原创 2021-07-27 13:56:19 · 450 阅读 · 0 评论 -
限流常见算法分析
限流分为三种:1 合法性验证 1)比如登陆,注册, 要求输入短信验证码或图片验证码 2)IP黑明单,通过限制IP的方式限制用户的访问2 容器限流 1)tomcat 2)nginx3 服务端限流 1)固定时间窗口算法 2)滑动时间窗口算法 3)令牌桶算法 4)漏桶算法...原创 2021-07-26 17:52:52 · 710 阅读 · 0 评论 -
分布式事务解决方案
两阶段提交(2PC)熟悉mysql的同学对两阶段提交应该颇为熟悉,mysql的事务就是通过「日志系统」来完成两阶段提交的。两阶段协议可以用于单机集中式系统,由事务管理器协调多个资源管理器;也可以用于分布式系统,「由一个全局的事务管理器协调各个子系统的局部事务管理器完成两阶段提交」。这个协议有「两个角色」,A节点是事务的协调者,B和C是事务的参与者。事务的提交分成两个阶段第一个阶段是「投票阶段」 1.协调者首先将命令「写入日志」 2.「发一个prepare命令」给.原创 2021-06-10 19:25:43 · 80 阅读 · 0 评论 -
分布式系统的经典基础理论
分布式与集群的区别是什么?分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上。比如之前做电商网站搭的redis集群以及solr集群都是属于将redis服务器提供的缓存服务以及solr服务器提供的搜索服务部署在多个服务器上以提高系统性能、并发量解决海量存储问题。...原创 2021-06-09 17:53:41 · 148 阅读 · 0 评论 -
RPC 详解
一个阳光明媚的早晨,老婆又在翻看我订阅的技术杂志。“老公,什么是RPC呀,为什么你们程序员那么多黑话!”,老婆还是一如既往的好奇。“RPC,就是Remote Procedure Call的简称呀,翻译成中文就是远程过程调用嘛”,我一边看着书,一边漫不经心的回答着。“啥?你在说啥?谁不知道翻译成中文是什么意思?你个废柴,快给我滚去洗碗!”“我去。。。”,我如梦初醒,我对面坐着的可不是一个程...原创 2019-12-05 16:01:55 · 762 阅读 · 0 评论 -
互联网常用术语
防止雪崩当一个服务无法承受大请求压力的时候,是否会影响所依赖的其他服务?这时候可以考虑限流等措施。功能降级当某个服务出现故障时,是否有容错手段能够让业务继续跑下去,而不影响整体应用。冥等当用户多次下同一订单时,得到的结果永远同一个。缓存当请求量较大时,为避免对数据库造成较大压力,可以适当将一些变化较小,读取量较大的数据放入缓存。超时超时时间对于调用服务来说...原创 2019-12-05 15:51:05 · 351 阅读 · 0 评论 -
分布式解决方案
多个接入层服务器:多个机房,每个机房部署一个集群,每个集群部署一个LVS,实现负载均衡 智能DNS为不同网络不同地域的用户解析到不同LVS 部分接口引用CDN多服务器分布式部署带来多问题:1:用户登陆态session 如何共享? session 存储到redis session.save.hander=redis session.save.path=tcp:/127.0.0.1:6...原创 2019-10-11 13:11:19 · 157 阅读 · 1 评论 -
Cephfs创建及挂载
Ceph 文件系统( Ceph FS )是个 POSIX 兼容的文件系统,它使用 Ceph 存储集群来存储数据。Ceph 文件系统要求 Ceph 存储集群内至少有一个 Ceph 元数据服务器。1、添加MDS,接上篇,这里把ceph01节点作为元数据服务器MDS。 #ceph-deploy mds create ceph01 #netstat -tnlp | grep m...原创 2019-05-05 16:01:15 · 500 阅读 · 0 评论 -
ceph 安装时遇到的问题总结
1:Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again 修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。2:把ceph源改成在/etc/yum.repos.d/目录下创...原创 2019-05-05 15:44:30 · 2650 阅读 · 0 评论 -
RabbitMQ与Redis队列对比
简要介绍RabbitMQRabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。Redis是一个Key-Value的NoSQL数据库,开发维护很活跃,虽然它是一个Ke原创 2017-05-09 11:24:42 · 545 阅读 · 0 评论 -
分区的实例
ALTER TABLE `t_user_login_log` PARTITION BY RANGE(`iCreateTime`) PARTITIONS 6(PARTITION `p2015` VALUES LESS THAN (1491567300) , PARTITION `p2016` VALUES LESS THAN (1491567360),PARTITION `p2017`原创 2017-04-07 19:08:32 · 264 阅读 · 0 评论 -
RabbitMQ(PHP版) 中文入门教程第一部分:Hello World
RabbitMQ 是信息传输的中间者。本质上,他从生产者(producers)接收消息,转发这些消息给消费者(consumers).换句话说,他能够按根据你指定的规则进行消息转发、缓冲、和持久化。RabbitMQ 的一些常见的术语:Producing意味着无非是发送。一个发送消息的程序是一个producer(生产者)。一般用下图表示Producer:Queue(队列)类原创 2016-02-14 11:47:40 · 583 阅读 · 1 评论