架构
文章平均质量分 90
菠萝-琪琪
这个作者很懒,什么都没留下…
展开
-
Raft 思想在架构中实践
TiDB 是 NewSql 一款很火的数据库,解决了 Mysql 对于海量数据的处理缺陷以及横向扩展能力(分布式),在此基础上还同时拥有 ACID 的事务特性,如果之前使用过Mysql 那么学习使用 TiDB 基本没有什么学习成本我们重点来说说 TiDB中的 TiKV,TiDB 也是采用了存算分离架构,TiKV 就是存储层。原创 2023-07-24 10:31:12 · 382 阅读 · 0 评论 -
Cloud Native 演进可行性研究
Paul Fremantle提出Cloud Native的原因是他一直想用一个词表达一种架构,这种架构能描述应用程序和中间件在云环境中的良好运行状态。Cloud Native是以云和微服务架构为基础构建系统的从研发流程的角度来讲,自动化的研发环境是Cloud Native的基础。因为使用云作为基础设施,已经具备基础的自动化能力,可以达到自服务的要求,流程中应该尽量减少沟通人员的规模,尽量减少测试及运维对开发的协助。原创 2022-11-01 14:45:20 · 376 阅读 · 0 评论 -
性能和成本的综合架构:单元化架构
第一次听见单元化架构的小伙伴可能一时有点懵,听说过微服务架构、网格架构等但是单元化架构是什么鬼?其实在我们手机里面很多常用APP都是单元化架构,类似高德导航、金融银行类APP都是将单元化架构进行了很多年,我们都知道导航类APP对于请求RT和请求稳定性都是十分严格的,如果RT延迟很高,等你已经路过某个路口了,导航突然告诉你需要拐弯....这个时候的你是不是心里一万个草泥马涌出来了,那么这个导航APP你到家肯定立刻就卸载了。...原创 2022-07-24 18:57:08 · 2587 阅读 · 1 评论 -
数据处理分布式计算设计概要
背景描述:一批1亿左右的数据,需要计算所有数据属于哪些类型,然后归类发送到MQ中,这个是一个真实的业务场景,并且会有一定的并发读,可能同一时间10-20个类似的处理任务发生分布式计算简单来说,是把一个大计算任务拆分成多个小计算任务分布到若干台机器上去计算,然后再进行结果汇总。 公司场景一批几亿数据需要进行计算匹配发送,单节点处理经过几轮优化可能需要5小时才能发送完,针对这样的场景开始了分布式计算的设计之路不过数据一旦进行计算拆分,问题会变得非常复杂,像一致性、数据完整、通信、容灾、任务调度等原创 2022-05-28 23:21:35 · 540 阅读 · 0 评论 -
Sentinel 深度分析
流控配置:资源名的填写分feign/dubbo不同方式:feign 填写请求地址 dubbo 填写sentinel注解的value值@SentinelResource(value = "circle.checkPopulation", blockHandler = "checkPopulation", blockHandlerClass = {BlockExceptionHandler.class})有种更加简单的方式,直接通过簇点链路菜单看各个资源地址,直接进行流控配置针对来原创 2022-05-17 14:09:10 · 526 阅读 · 0 评论 -
ClickHouse 深度解析第二篇
ClickHouse 诞生之处是为了服务Yandex自家的WEB流量分析产品Metrica,在超过20万亿数据的场景下,ClickHouse能做到90%查询在一秒内返回的效果,但是对于一款OLAP的数据库来说也有不适用的场景:不支持事务 不擅长根据主键按行进行查询 不擅长按行删除数据为了获得极致的查询性能,OLAP数据库会相应放弃很多其他功能的弱化ClickHouse是一款列式存储+数据压缩的数据库,数据压缩的本质就是对一定步长内的重复数据进行转换,案例:压缩前:abcdefg...原创 2022-04-17 11:33:26 · 1416 阅读 · 0 评论 -
Rocketmq 事务消息使用与原理
Rocketmq 使用示例和原理解析原创 2022-02-08 15:46:13 · 2602 阅读 · 0 评论 -
SQL 解析原理和使用场景
Github 地址:https://github.com/j-easy/easy-ruleshttps://github.com/j-easy/easy-rules原创 2022-01-09 16:27:23 · 4328 阅读 · 0 评论 -
ClickHouse 结构以及使用场景
大多数公司的日志系统检索使用的都是 ELK+Kafka+ES 的架构,在日志数据量不是特别庞大的时候其实这种架构还是挺好的,简单并且也很高效,但是当你的公司日志数据量非常庞大每分钟生产1亿条数据的场景下,这种架构的问题就很明显了,主要会出现下面几个问题:延迟很高,kafka收集push 的延迟变高 ES 插入性能迅速下降,大量插入请求只能排队不然 ES 会被打挂,限流排队也就意味着延迟变得更加高我们这边文章只讨论数据存储层进行提效,那么就是 CK 来替代 ES 了CK 高性能的4个特点上图.原创 2021-12-02 13:53:21 · 3007 阅读 · 0 评论 -
HBase LSM树存储引擎
1.前提讲LSM树之前,需要提下三种基本的存储引擎,这样才能清楚LSM树的由来:哈希存储引擎。 B树存储引擎。LSM树(Log-Structured Merge Tree)存储引擎。2. 哈希存储引擎哈希存储引擎哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据,哈希表就非常适合。代表性的数据库有:Red...原创 2021-11-07 23:20:06 · 281 阅读 · 0 评论 -
互联网新概念:云原生
在进入21世纪后成长起来的新一代公司,已经找到了更好的做事方法。谷歌公司是一个伟大的创新者,它和其他一些互联网巨头一起,发展出了新的IT模式。据估计,谷歌在其世界各地的数据中心里运行着200万台服务器,那么是怎么做到得呢?图展示了一个系统的示意图,它几乎经常描述的“坏”系统相反这个系统的目标如下:■ 简单且可以频繁地在生产环境中进行发布。■ 运维具有稳定性和可预测性。你应该已经熟悉了这些因素的反面因素:■ 碎片化的变化会造成发布缓慢和不稳定,可重复性则相反。■ 有风险的部署会导致原创 2021-03-15 22:13:30 · 366 阅读 · 1 评论 -
转型架构师过程中必须知道得核心架构要素
关于什么是架构,一种比较通俗的说法是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。从这个意义上说,人生规划也是一种架构。选什么学校、学什么专业、进什么公司、找什么对象,过什么样的生活,都是自己人生的架构。具体到软件架构,维基百科是这样定义的:“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计”。系统的各个重要组成部分及其关系构成了系统的架构,这些组成部分可以是具体的功能模块,也可以是非功能的设计与决策,他们相互关系组成一个整体,共同构成了原创 2021-03-13 19:46:20 · 99 阅读 · 0 评论