
互联网
文章平均质量分 87
yamaxifeng_132
努力、奋斗
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式理论 PACELC 了解么?
PACELC 基于 CAP 理论演进而来。CAP 理论是一个分布式系统中老生常谈的理论了:C(Consistency):一致性,所有节点在同一时间的数据完全一致。 A(Availability):可用性,服务一直可用。 P(Partition tolerance):分区容错性,遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务系统设计中,这三点只能取其二,一般的分布式系统要求必须有分区容错性。剩下的只能从 C 或者 A 中取舍。但是这个理论并不能很好地应用于实际,..转载 2021-03-09 15:57:48 · 252 阅读 · 0 评论 -
有赞延迟队列设计
有赞延迟队列设计延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢?背景我们先看看以下业务场景:当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存? 如何定期检查处于退款状态的订单是否已经退款成功? 新创建店铺,N天内没有上传商品,系统如何知道该信息,并发送激活短信?等等为了解决以上问题,最简单直接的办法就是定时去扫表。每个业务都要维护一个自己的扫表逻辑。 当业务越来越多时,我们会发现扫表部分的逻辑会非常类似。我们可以考虑将这部分逻转载 2021-03-07 11:10:50 · 579 阅读 · 0 评论 -
分布式调用链调研(pinpoint,skywalking,jaeger,zipkin等对比)
1. APM简述APM (Application Performance Management)是对企业的应用系统进行实时监控,它是用于实现对应用程序性能管理和故障管理的系统化的解决方案。2. APM主要解决的问题集中式度量系统 分布式全链接追踪系统 集中式日志系统(elk)3. 分布式调用追踪(APM)一览google的Drapper--未开源,最早的APM 阿里-鹰眼--未开源 大众点评——CAT--跨服务的跟踪功能与点评内部的RPC框架集成,这部分未开源且项目在20...转载 2021-01-26 16:32:30 · 2076 阅读 · 0 评论 -
CNCF - 云原生计算基金会简介
CNCF项目简介CNCF,全称Cloud Native Computing Foundation(云原生计算基金会),口号是坚持和整合开源技术来编排容器作为微服务架构的一部分,其作为致力于云原生应用推广和普及的一支重要力量,不论您是云原生应用的开发者、管理者还是研究人员都有必要了解。CNCF作为一个厂商中立的基金会,致力于Github上的快速成长的开源技术的推广,如Kubernetes、Prometheus、Envoy等,帮助开发人员更快更好的构建出色的产品。下图是CNCF的全景图。其中..转载 2021-01-26 16:25:08 · 13943 阅读 · 0 评论 -
SpringCloud整合Skywalking实现链路追踪
当服务多起来的时候,发生错误以后,都不清楚是在哪个环节出了错。需要通过日志逐一排查,这就比较耗时了。所以可以通过国产软件 Skywalking 辅助开发。下载地址:http://skywalking.apache.org/zh/downloads/ps: 我并没有选择最新的版本,因为怕不稳定,最终版本是6.6.0Binary Distribution (Windows)解压后的目录结构如下:Skywalking是使用 Java Agent 服务器探针来收集和发送数据到归集器...转载 2021-01-26 14:56:17 · 1088 阅读 · 1 评论 -
Windows环境下搭建prometheus和grafana 并监控springboot2+ 服务
1.安装prometheus可以去官网下载https://prometheus.io/download/,我使用的是prometheus-2.21.0.windows-amd64.tar.gz。下载完后进行解压,执行prometheus.exe,默认端口是9090,本地访问http://127.0.0.1:9090,看到如下页面说明prometheus启动成功。prometheus.yml是prometheus的配置文件,新增加对一个服务的监控在配置文件中新增相对应的job,重启prometheu.转载 2021-01-26 10:48:32 · 282 阅读 · 0 评论 -
Windows环境下搭建Prometheus + Grafana监控Java服务
使用Prometheus与Grafana 搭建服务监控系统。目前公司有使用到该技术,现在需要我添加一些业务的监控,所以要做一些了解,就在本地环境搭建了一套简单的监控demo。搭建环境为windows。安装配置Prometheushttps://prometheus.io/download/ 根据自身环境选择安装包,我本地是64位系统,所以选择了prometheus-2.10.0.windows-amd64.tar.gz。下载完毕将压缩包解压,执行prometheus.exe,然后prometh.转载 2021-01-26 10:10:09 · 489 阅读 · 0 评论 -
大型分布式系统中的缓存架构
本文主要详情大型分布式系统中缓存的相关理论,常见的缓存组件以及应使用场景。缓存概述缓存概述缓存的分类缓存主要分为四类,如下图:缓存的分类CDN 缓存CDN(Content Delivery Network 内容分发网络)的基本原理是广泛采使用各种缓存服务器,将这些缓存服务器分布到使用户访问相对集中的地区或者转载 2021-01-11 21:11:06 · 205 阅读 · 0 评论 -
一个可供参考的Java高并发异步应用案例
泰康在线微信公众号系泰康在线财产保险股份有限公司旗下平台,希望可以通过持续不断的创新,提升客户对于保险的认知及体验,通过对大数据技术的应用,精准的为客户设计产品以及提供服务。泰康在线微信公众号,现有1000多万粉丝。在日常的运营中,借助于红包奖励、卡券分享、消息通知、微信分享等手段,通过好的内容,好的活动、好的产品以及相应的精准营销来增强用户的粘性和活跃度。在日常运营中,公众号会通过给用户下发营销或者科普类的消息来通知客户。 根据经验,微信消息下发后10分钟后流量会逐步上升,30分钟左右到达峰值,1个小转载 2020-12-15 18:18:15 · 568 阅读 · 0 评论 -
NWR协议
NWR是一种在分布式存储系统中用于控制一致性级别的一种策略。在Amazon的Dynamo云存储系统中,就应用NWR来控制一致性。转载 2019-12-31 17:11:52 · 1111 阅读 · 0 评论 -
网络爬虫技术
1、爬虫技术概述网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新...转载 2017-03-11 18:20:25 · 931 阅读 · 0 评论 -
CAP原则(CAP定理)、BASE理论
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 CAP原则是NOSQL数据库的基石。Consistency(一致性)。 Availability(可用性)。Partition tolerance(分区容错性)。分布式系统的CAP理论:理论...转载 2018-12-20 23:01:58 · 182 阅读 · 0 评论 -
聊聊高并发系统之限流特技
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,...转载 2016-07-31 20:38:54 · 534 阅读 · 1 评论 -
限流算法三种思路
常见的限流算法有:令牌桶、漏桶、计数器。1.令牌桶限流令牌桶是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌,填满了就丢弃令牌,请求是否被处理要看桶中令牌是否足够,当令牌数减为零时则拒绝新的请求。令牌桶允许一定程度突发流量,只要有令牌就可以处理,支持一次拿多个令牌。令牌桶中装的是令牌。2.漏桶限流漏桶一个固定容量的漏桶,按照固定常量速率流出请求,流入请求速率任意,当流入的请求...原创 2017-03-21 15:58:32 · 4308 阅读 · 0 评论 -
关于分布式事务、两阶段提交协议、三阶提交协议
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在《分布式系统的一致性探讨》一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三阶段提转载 2016-12-02 17:35:07 · 253 阅读 · 0 评论 -
CAP原则(CAP定理)
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 CAP原则是NOSQL数据库的基石。Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)。分布式系统的CAP理论:转载 2016-12-05 11:27:48 · 3262 阅读 · 0 评论 -
分布式存储:一致性哈希
一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。转载 2016-12-05 11:28:44 · 428 阅读 · 0 评论 -
数据缓存设计方案(一致性哈希)
随着数据的分布式存储,如何快速定位数据在集群中的位置,关系到集群的性能。下面介绍常见的分布式存储方式。普通集群普通集群把固定的key映射到固定的节点上,节点中至只存放各自key的数据。这种方式就需要将key和节点的关系作为一张单独的表格进行维护,当其中一个节点宕机的时候,节点上的数据需要迁移,这个时候这张表格也需要重新维护。 这种方法的问题也有,当需要查找某一个key对转载 2016-12-05 11:29:24 · 468 阅读 · 0 评论 -
一致性哈希
分布式过程中我们将服务分散到若干的节点上,以此通过集体的力量提升服务的目的。然而,对于一个客户端来说,该由哪个节点服务呢?或者说对某个节点来说他分配到哪些任务呢?1. 强哈希考虑到单服务器不能承载,因此使用了分布式架构,最初的算法为 hash() mod n, hash()通常取用户ID,n为节点数。此方法容易实现且能够满足运营要求。缺点是当单点发生故障时,系统无法自动恢复。同样不也不能进...原创 2019-01-28 21:18:09 · 309 阅读 · 0 评论 -
Paxos算法细节详解--通过现实世界描述算法
最近研究paxos算法,看了许多相关的文章,概念还是很模糊,觉得还是没有掌握paxos算法的精髓,所以花了3天时间分析了libpaxos3的所有代码,此代码可以从https://bitbucket.org/sciascid/libpaxos 下载。对paxos算法有初步了解之后,再看此文的效果会更好;如果你也想分析libpaxos3的话,此文应该会对你有不小帮助;关于paxos的历史这里不多做介绍...转载 2017-01-19 14:32:12 · 353 阅读 · 0 评论 -
分布式系统:高性能系统设计原则
一言以蔽之:“分”按业务分。按层次分。按读写分。按动静分。按流量分(负载均衡)。按时间分(异步化)。“分”完以后还要保证系统的整体稳定性,需要的原则:冗余和灾备。监控。预案。限流。降级。转载 2017-02-20 15:21:03 · 1466 阅读 · 0 评论 -
CAP、ACID和Base
分布式-CAP与ACID原则CAP、ACID对于深入理解分布式环境下技术方案设计选型有重要的指导作用,所以这里做了下整理。1. CAP原则1.1 定义CAP是“Consistency,Avalilability, Partition Tolerance”的一种简称,其内容分别是:(1)强一致性:即在分布式系统中的同一数据多副本情形下,对于数据的更新操作体现出的效果与只有单份数据...原创 2017-02-20 15:47:47 · 702 阅读 · 0 评论 -
使用2-3法则设计分布式数据访问层
博文来自:http://www.infoq.com/cn/articles/2-3-priciple-dal引言 如今移动互联网行业呈爆发式发展,随着业务用户规模和业务逻辑趋向复杂,后端系统的开发和维护变得越来越困难,目前业界涌现出各种各样的技术文章介绍分布式缓存设计、分布式数据库设计、负载均衡、HA策略等等,这些都是支撑分布式数据访问层的基石,不过,本文将从另一个角度探讨分布式数据访问...转载 2017-02-21 09:31:10 · 566 阅读 · 0 评论 -
一致性哈希算法与Java实现
一致性哈希算法与Java实现转载 2017-12-28 21:59:16 · 240 阅读 · 0 评论 -
Jedis之ShardedJedis一致性哈希分析
博文来自:https://my.oschina.net/xinxingegeya/blog/391713ShardedJedis通过一致性哈希实现的的分布式缓存。主要思路:1.redis服务器节点划分:将每台服务器节点采用hash算法划分为160个虚拟节点(可以配置划分权重)2.将划分虚拟节点采用TreeMap存储3.对每个redis服务器的物理连接采用LinkedHashMap存储...转载 2017-12-28 22:07:56 · 330 阅读 · 0 评论 -
构建高并发高可用的电商平台架构大纲
一、设计理念1. 空间换时间1) 多级缓存,静态化客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag)反向代理缓存应用端的缓存(memcache)内存数据库Buffer、cache机制(数据库,中间件等)2) 索...转载 2018-03-08 16:42:10 · 377 阅读 · 0 评论 -
构建高并发高可用的系统平台架构实践
博文来自:http://blog.youkuaiyun.com/yangbutao/article/details/12242441从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。转载请声明出处:http://blog.youkuaiyun.com/yangbutao/article/details/12242441作者:杨步涛关注分布式架构、大数据、搜索转载 2017-02-20 10:26:36 · 4289 阅读 · 0 评论 -
构建高可用的系统
今天又温习了一下《分布式java应用》,好多名词看了都知道,但记不住,是不习惯记这些不易理解的专业术语呀。因为和客户说的时候他肯定不懂。但和懂技术的客户或者专家进行沟通的时候都是用这些专业术语,这时候我知道但往往想不起来,看来老了啊。看来以后还得记些,不然显得本架构师不专业呀。好了,言归正传,如何构建高可用的系统呢?首先什么是高可用?“高可用性”(High Availability转载 2017-02-20 10:19:10 · 592 阅读 · 0 评论 -
如何设计一个秒杀系统
什么是秒杀秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。秒杀系统场景特点秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增。秒杀一般是访问请求数量远远大于库存数量,只转载 2017-12-06 22:33:06 · 195 阅读 · 0 评论 -
淘宝秒杀系统内幕
导读:最初的秒杀系统的原型是淘宝详情上的定时上架功能,由于有些卖家为了吸引眼球,把价格压得很低。但这给的详情系统带来了很大压力,为了将这种突发流量隔离,才设计了秒杀系统,文章主要介绍大秒系统以及这种典型读数据的热点问题的解决思路和实践经验。转载 2017-12-06 22:28:21 · 374 阅读 · 0 评论 -
系统吞吐量(TPS)、用户并发量、性能测试概念和公式
TPS,公式,吞吐量,并发量,性能测试,概念转载 2017-11-23 22:53:26 · 246 阅读 · 0 评论 -
关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究
本文原文连接: http://blog.youkuaiyun.com/bluishglc/article/details/7612811,转载请注明出处!1.XAXA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Tran...转载 2016-12-02 11:57:13 · 2269 阅读 · 0 评论