联系
主题 [当前:1 ~ 15, 总共: 15]
Knight's Blog » 架构
【Knight技术分享】秒杀架构考虑
2020-04-06 17:36
### 前沿 来vmate的第一件事情就是做秒杀,秒杀对于高并发的处理非常突出,是比较能体现技术能力的一个业务场景。 ### 问题 用户秒杀(定时领)或者随时领的行为可能由于 太热门,导致请求量过大,担心 引起系统的各种问题 ### 目标 通过技术手段,解决 - 当前:高并发秒杀问题 - 未来:构建良好架构,可以适应高并发;通用性,为其它场景做准备 ### 秒杀特点 - 瞬时并发量大。 大量用户会在同一时间点进行抢购; ○ 网站瞬时访问量激增 - 库……
继续阅读
分布式事务综述
2015-08-21 08:21
I'll present the patterns in reverse order of safety(安全) or reliability(可靠), starting with those with the highest guarantee of data integrity and atomicity under the most general circumstances 从最可靠-》最不可靠 The patterns are also roughly in reverse order……
继续阅读
分布式 数据库表 sharding 综述
2015-08-20 08:33
数据库表 sharding 综述 ## 数据库sharding ### 基本思路 - 表多:垂直划分 - 表不多但表的数据很多:水平划分 ### 切分策略 先垂直后水平 - 垂直:“聚集“,聚合 - 水平:聚合根 举例: - 社交网站:根据用户区分 - 论坛: - 垂直shard:用户和论坛 - 水平shard:Form是聚合根 Tips: - 只读字典或变化较小的表:每个shard里维护一份,可以加速读取速度(joi……
继续阅读
架构:Starbucks Does Not Use Two-Phase Commit
2015-06-30 20:35
http://www.enterpriseintegrationpatterns.com/ramblings/18_starbucks.html 使用异步消息来解决事务问题,解决二阶段提交问题。
继续阅读
架构:Consumer-Driven Contracts: A Service Evolution Pattern (消费者驱动的契约)
2015-06-30 19:48
http://martinfowler.com/articles/consumerDrivenContracts.html 大概是讲: 消费者驱动的契约描述的是服务提供者向其所有当前消费者承诺遵守的约束。一旦各消费者把自己的具体期望告知提供者,消费者驱动的契约就被创建了。在提供者方面创建的约束,确定了一个消费者驱动的契约。若提供者接受了一个消费者驱动的契约,那么它只需保证已有约束仍能得到满足,即可自行改进与修改其服务。 也就是说,一旦约定好接口约束后,在对自己做升级时,只要约束未影响,就……
继续阅读
架构:Tolerant Reader(容忍读策略)
2015-06-30 19:37
本篇文章的大体意思就是说 下游在使用上游数据时要使用最小化策略,parse接口数据时只拿自己关心的数据就可以了。并且要保证在上游改进时,下游不需要进行修改。 在架构时比较有用。 One of the benefits of using web services is that it helps you to decouple various parts of a system. People can work on separate code-bases with some degree of ……
继续阅读
架构:微服务
2015-06-30 17:28
### Microservices http://martinfowler.com/articles/microservices.html We do not claim that the microservice style is novel or innovative, its roots go back at least to the design principles of Unix. But we do think that not enough people consider……
继续阅读
rabbitmq 高可用性初探
2015-06-08 11:25
rabbitmq的AMQP客户端并没有做高可用性的工作,(java的是完全没有做,kombu只支持多hosts参数,在连接失败时必须自己处理重新连接) 因此,如果要自己做高可用性可以有两种做法 1. 硬件F5处理 没钱的小屌丝就算了吧 2. 软件模拟F5处理 可以搭建HaProxy集群来做 3. 自己在producer和consumer里去做 比较good,但是需要自己写程序哦 做这里有人做过了类似的:https://github.com/joshdevins……
继续阅读
企业级分布式事务 综述
2015-04-27 17:28
## 基本概念 ### 本地事务 事务由资源管理器(如DBMS)本地管理 - 优点:严格的ACID - 缺点:不具备分布事务处理能力 ### 全局事务(DTP模型) TX协议:应用或应用服务器与事务管理器的接口 XA协议:全局事务管理器与资源管理器的接口 - 优点:严格的ACID - 缺点:效率非常低 ### 两阶段提交 - 优点 - 准备后,仍可提交或回滚 - 准备时,一致性检查必须OK - 准备后,事务结果仍然只在事……
继续阅读
架构系列之:业务服务化技术
2014-08-13 21:10
- 当业务迅猛发展,应用层技术架构较陈旧,无法满足快速迭代的需求 - 期望在流程、组件、模块、服务等,不同层面下的逻辑复用 - 目标是构建易扩展、高性能、可快速迭代的服务化系统 ## 模块化与服务化 ## - 模块是一个内聚的组件集、是进程内重用的无状态代码块; - 服务是独立部署的模块或模块集; 服务可以是进程间重用的有状态模块集,也可是复用价值高的无状态模块集。 ## 如何确定服务 ## - 服务需要自包含。要达成边界明晰、高度内聚、外部松耦合的效果。 - 服务要粒度……
继续阅读
架构系列之:前端模板化与X通用平台技术 探讨
2014-07-17 22:12
#前端模板化与后端实现技术 探讨# ##概述## 前端模板化技术是想实现业务功能的UI功能模板化,可以快速复用于多个产品线的技术。 最近在部门内部对前端模板化技术做了些讨论,目前还集中在于业务端后端如何去配合前端模板化技术的实施。 有兴趣的同学可以和我一起探讨。 **业务场景:** 为了完成Web平台(主业务平台)上的某些业务功能,需要有以下三大模块: - 前端模板.js:N段JS及HTML代码集合,它们是功能的界面UI。它请求主业务平台,来实现业务功能。 - 主……
继续阅读
架构系列之:航线查询服务架构
2014-07-10 21:06
今天跟大家分享一个航线查询服务的架构。 ![](http://img2.jintiankansha.me/get5?src=http://ww1.sinaimg.cn/mw1024/60c9620fgw1ei80axshdpj20he0cumxw.jpg) ## 业务场景 ## 业务场景是这样的,输入 时间和航线 ,要求输出所有航班的排名。 这些航班数据均是第三方代理提供的。所有第三方代理的数据汇总便是结果。结果要细粒度到哪个航空公司哪架飞机的指定座位的价格信息。 ## 架构 ……
继续阅读
架构系列之(DSP广告篇):内外dmp整合架构
2014-07-01 13:53
一个DSP系统是离不开DMP数据的支持。DMP管理了用户的定向数据。更大的一个DMP数据平台可以使DSP的定向能力得到极大的提升。 因此,如何扩大DMP数据能力,即如何将外界的DMP与自己内部的DMP平台进行整合是一个很有意义的Project。 相关的名词解释可见:http://www.falconhan.com/industry/dsp-terms.htm 本文就是简单描述了一个内外DMP整合系统。 ![](http://img2.jintiankansha.me/get5?src……
继续阅读
架构系列之:在线客服系统架构
2014-06-30 18:09
今天面试了一个同学,期间和他探讨了如何制作客服系统。 那今天就来总结一下如何制作一个在线客服系统。 他讲了两个项目,一个是 Web页面的在线客服系统,另一个是微信在线客服系统。两个系统的架构图可以简单描述如下: 图1: ![](http://img2.jintiankansha.me/get5?src=http://ww2.sinaimg.cn/mw1024/60c9620fgw1ehwagd34v4j20eq07hjrr.jpg) 图2 ![](http://img2.……
继续阅读