摘要:
基础架构 更新操作 日志模块 redo log 和 binlog 两阶段提交: prepare commit 事务隔离 读未提交:别人改数据的事务尚未提交,我在我的事务中也能读到。读已提交:别人改数据的事务已经提交,我在我的事务中才能读到。可重复读:别人改数据的事务已经提交,我在我的事务中也不去读。 阅读全文
摘要:
协议分层 TCP协议 socket RPC Dubbo GRPC 阅读全文
摘要:
1 、秒杀系统架构设计都有哪些关键点 秒杀其实主要解决两个问题,一个是并发读,一个是并发写。并发读的核心优化理念是尽量减少用户到服务端来“读”数据,或者让他们读更少的数据;并发写的处理原则也一样,它要求我们在数据库层面独立出来一个库,做特殊的处理。另外,我们还要针对秒杀系统做一些保护,针对意料之外的 阅读全文
摘要:
笔记: 第一部分:泛型编程,讨论了从 C 到 C++ 的泛型编程方法,并系统地总结了编程语言中的类型系统和泛型编程的本质。 我们可以看到,无论是传统世界,还是编程世界,我们都在干一件事情,什么事呢?那就是通过使用一种更为通用的方式,用另外的话说就是抽象和隔离,让复杂的“世界”变得简单一些。 然而,要 阅读全文
摘要:
01讲到底什么是微服务? 微服务架构是将复杂臃肿的单体应用进行细粒度的服务化拆分,每个拆分出来的服务各自独立打包部署,并交由小团队进行开发和运维,从而极大地提高了应用交付的效率,并被各大互联网公司所普遍采用。 02讲从单体应用走向服务化 核心是服务的拆分 纵向:业务纬度 横向:独立功能 03讲初探微 阅读全文
摘要:
1 高性能 单机: cpu 操作系统 多进程 多线程 集群: 任务分配 任务分解 总结一下所得,性能复杂度主要体现在单台计算机和多台计算机集群两方面。单机复杂度主要考虑多进程、多线程、进程间通信、多线程并发等技术点。集群主要考虑任务分配和任务分解,并且要把握好粒度,逼近性能极限。 2 高可能 系统的 阅读全文
摘要:
架构即决策。架构需要面向业务需求,并在各种资源(人、财、物、时、事)约束条件下去做权衡、取舍。而决策就会存在不确定性。采用一些高屋建瓴的设计原则有助于去消除不确定,去逼近解决问题的最优解。1 合适原则架构无优劣,但存合适性。“汝之蜜糖,吾之砒霜”;架构一定要匹配企业所在的业务阶段;不要面向简历去设计 阅读全文
摘要:
问题 :如何拆呢? 披萨理论:每个团队的人数不能多到两张披萨都不够吃的地步 “三个火枪手”原则:即一个微服务三个人负责开发 拆分方法: 1. 基于业务逻辑拆分这是最常见的一种拆分方式,将系统中的业务模块按照职责范围识别出来,每个单独的业务模块拆分为一个独立的服务。 2. 基于可扩展拆分将系统中的业务 阅读全文
摘要:
概念 SOA: SOA 解决了传统 IT 系统重复建设和扩展效率低的问题,但其本身也引入了更多的复杂性。SOA 最广为人诟病的就是 ESB,ESB 需要实现与各种系统间的协议转换、数据转换、透明的动态路由等功能。 当然,SOA 的 ESB 设计也是无奈之举。回想一下 SOA 的提出背景就可以发现,企 阅读全文