服务设计
文章平均质量分 95
服务设计
colie_li
coding
展开
-
如何设计一个亿级消息量的 IM 系统
本文不会给出一套通用的 IM 方案,也不会评判某种架构的好坏,而是讨论设计 IM 系统的常见难题跟业界的解决方案。因为也没有所谓的通用方案,不同的解决方案都有其优缺点,只有最满足业务的系统才是一个好的系统。而且,在有限的人力、物力跟时间资源下,通常需要做出很多权衡,此时,一个能够快速迭代、方便扩展的系统才是一个好的系统。IM 核心概念用户:系统的使用者消息:是指用户之间的沟通内容。通常在 IM 系统中,消息会有以下几类:文本消息、表情消息、图片消息、视频消息、文件消息等等会话:通常指两个用户转载 2021-04-05 15:50:14 · 985 阅读 · 1 评论 -
支付宝应用的架构到底有多牛?
原文:https://mp.weixin.qq.com/s/tTn5BnD2IfIYYvcXWXQRmw自 2008 年双 11 以来,在每年双 11 超大规模流量的冲击上,蚂蚁金服都会不断突破现有技术的极限。2010 年双 11 的支付峰值为 2 万笔/分钟,到 2017 年双 11 时这个数字变为了 25.6 万笔/秒。2018 年双 11 的支付峰值为 48万笔/秒,2019 年双 11 支付峰值为 54.4 万笔/秒,创下新纪录,是 2009 年第一次双 11 的 1360倍。...转载 2020-07-13 02:18:34 · 764 阅读 · 0 评论 -
饿了么交易系统 5 年演化史
原文:https://mp.weixin.qq.com/s/mtPQLSONUCWOC2HDPRwXNQ我为什么会写这篇文章,究其缘由:一是自己在交易域做了 4 年,有很多只有我才知道,才能串起来的故事,想把这些记录并保留下来。二是发现后边的很多同学看交易体系时,一接触就是分布式、SOA、每日百万、千万数据量,只知道它是这个样子,很难理解背后的思考和缘由。伴随自己这几年的经验,想让大家能够更容易的理解这个演化过程的原因和历程,有甘有苦。三是很多总结也好,方法论也好,更多是去...转载 2020-07-13 02:14:50 · 501 阅读 · 0 评论 -
基于大中台架构的电商业务中台最佳实践之三:交易中台技术要点设计之高性能
接着上篇继续讲,接下来主要介绍交易总体设计的技术要点设计,对于电商中台来说,交易系统是核心中的核心,一开始就需要围绕高性能,高可用,和高扩展三个方面来重点设计。本篇主要介绍高性能设计。对于高性能的定义,通常可以理解为系统/服务接口响应时间低(rt)且并发量(qps,tps)高. 提高性能的主要策略有:选择合理的分布式事务处理机制,数据库的分库分表,读写分离,异步化,缓存,复杂查询走搜索。选择合理的分布式事务处理机制交易业务要求订单,库存,优惠券,红包,支付等数据要强一致,如何保证这些数据之间的一致转载 2020-05-11 00:11:04 · 629 阅读 · 0 评论 -
灰度划分方法
将一堆用户按照百分比划分方式:x &(-1)=x%比如将用户分1024个桶就是uid & (-1) 相当于 uid%1024原创 2019-11-04 22:17:19 · 1003 阅读 · 0 评论 -
互联网架构的演变过程
简介web1.0时代web2.0时代互联网时代 互联网+ --》智慧城市。 2012年提出。云计算+大数据时代背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。1、第一时期单一应用架构all in one(所有的模块在一起,技术也不分层)网站的初...转载 2019-11-03 01:17:44 · 766 阅读 · 0 评论 -
CPU密集型、IO密集型与线程关系
CPU密集型(CPU-bound)CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。在多重程序系统中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPU bound。例如一个计算...转载 2019-11-03 01:16:10 · 334 阅读 · 0 评论 -
利用状态机处理订单状态流转
首先简述一个场景,订单的状态流转。一个订单会有很多种状态:临时单、已下单、待支付、已支付、已完成、退款中等等。每一种状态都和其扭转前的状态、在扭转前状态所执行的操作有关。一 引子举例一个过程:用户将商品加入购物车,在后台生成了一个所谓的“临时单”,这个订单实际上还没有正式生成,因为用户仍然没有点击下单。只有当用户下单后,这个“临时单”才可以转化为一个“待支付的订单”。那么这个过程中:只有...转载 2019-10-11 18:39:20 · 8415 阅读 · 3 评论 -
熔断,限流,降级
1 写在前面1.1 名词解释consumer表示服务调用方provider标示服务提供方,dubbo里面一般就这么讲。下面的A调用B服务,一般是泛指调用B服务里面的一个接口。1.2 拓扑图大写字母表示不同的服务,后面的序号表示同一个服务部署在不同机器的实例。2 从微观角度思考2.1 超时(timeout)在接口调用过程中,consumer调用prov...转载 2019-03-19 20:28:25 · 244 阅读 · 0 评论 -
爬虫
Gather Platform V0.4 发布了,新功能:新增爬虫模板批量启动,在爬虫模板管理界面可以勾选多个爬虫批量启动。修复BUG:修正模态框堆叠问题;修正更新webmagic版本带来的jar包冲突问题;修正默认分类字段无效的问题;修正导出数据内存溢出问题。最新预编译版本及相关依赖下载地址: https://pan.baidu.com/s/1转载 2017-04-13 18:17:09 · 584 阅读 · 0 评论 -
apache kafka监控系列-KafkaOffsetMonitor
apache kafka中国社区QQ群:162272557概览最近kafka server消息服务上线了,基于jmx指标参数也写到zabbix中了,但总觉得缺少点什么东西,可视化可操作的界面。zabbix中数据比较分散,不能集中看整个集群情况。或者一个cluster中broker列表,自己写web-console比较耗时耗力,用原型工具画了一些管理界面东西,关键自己也不前端方面技术,这方面转载 2015-11-20 16:23:45 · 572 阅读 · 0 评论 -
dubbo小教程
先给出阿里巴巴dubbo的主页:http://code.alibabatech.com/wiki/display/dubbo/Home-zh自己的demo下载地址:http://download.csdn.net/detail/u012049463/67633151. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务转载 2014-12-26 16:05:44 · 970 阅读 · 0 评论