![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一读
lookNo施
这个作者很懒,什么都没留下…
展开
-
17.每日一读-kafka为什么这么快?
0、Kafka对于大吞吐量设计是最佳选择1、磁盘顺序读写2、页缓存直接使用操作系统的页缓存特性提高处理速度Kafka采用字节紧密存储,避免产生对象,这样可以进一步提高空间利用率3、零拷贝4、批量处理...原创 2022-02-27 23:20:47 · 897 阅读 · 0 评论 -
15.每日一读-RabbitMQ的六种队列模式与应用场景
1.MQ的组件:生产者:消息提供者消费者:消息使用者MQ服务器:管理队列、消息及相关信息消息:程序间通讯的数据队列:消息存放的容器,消息是先进先出的交换机:用于分发消息2.RabbitMQ工作模式2.1 简单模式无交换机参与。实际工作中几乎用不到。生产者通过MQ将消息放入队列,队列发送给消费者。2.2 工作队列类似负载均衡。在多个消息的情况下,工作队列模式会将消息分发给不同的消费者,每个消费者会收到不同的消息,并且根据处理消息的速度来接收消息的数量,进而让消费者程序发挥最大性原创 2022-02-24 22:38:24 · 1004 阅读 · 0 评论 -
14.每日一读-到底什么是蓝绿、红黑、灰度发布
1.科学部署的意义尽可能减少服务停机时间控制新版本带来的质量风险2.全量发布与增量发布3.蓝绿发布1.我有两个应用集群,应用集群A与应用集群B,这两个集群的版本都是v1.0,现在使用蓝绿部署的方法进行升级上线2.在网关中设置,先断开应用集群A的连接3.将应用集群A升级到V1.14.设置网关对应用集群A的连接5.设置网关断开应用集群B的连接6.升级应用集群B到v1.17.设置网关连接应用集群B3.红黑发布红黑发布针对的是一个集群1.有一个应用集群Av1.0需要对其升原创 2022-01-28 22:07:22 · 5512 阅读 · 0 评论 -
12.每日一读-Redis Cluster集群模式
1.Redis Cluster 集群模式Cluster集群模式是redis3.0开始推出的Cluster模式是无中心结构,每个节点都保存数据和整个集群的状态,每个节点都和其他所有节点连接官方建议:至少有六个节点才能保证集群的高可用(至少3主3从)各个节点之间采用gossip协议进行通信数据分散存储在各个节点上2.集群模式与哨兵模式的不同哨兵模式:每个节点都持有全量数据,并且数据保持一致,为系统Redis高可用集群模式:每个节点数据不同,是整个数据的子集,利用多台服务器构建集群提高超大原创 2022-01-27 20:53:18 · 1683 阅读 · 0 评论 -
11.每日一读-公共表在分布式架构下该如何访问?
1.那些是公共表?被其他业务模块共享的基础数据表,被称为公共表比如:系统用户表、行政区划、组织机构、系统配置2.分布式环境下公共表会遇到哪些新问题?假如用户表有4000万数据,在查询时不小心没有索引,导致磁盘IO直接拉满,其他表访问就会出现高延迟。实时数据,将公共表下沉为基础服务业务模块上浮为业务服务业务应用通过RPC、RESTful API访问数据层面解耦,有独立的服务器资源支撑团队之间解耦,谁的模块谁负责开发起来真的麻烦如何屏蔽底层复杂度是架构设计的难点...原创 2022-01-26 21:59:35 · 871 阅读 · 0 评论 -
10.每日一读-Redis哨兵模式简讲
1.Redis主从复制过程1.在生产工作中Redis一般采用一主多从的架构2.Redis主从复制的过程2.Redis Sentinel高可用集群3.Sentinel节点挂了怎么办?原创 2022-01-19 21:35:54 · 850 阅读 · 0 评论 -
9.每日一读—MHA:MySQL高可用架构方案
1.什么是MHA,mysql的高可用架构方案mysql的架构方案在互联网公司mysql的架构方案一般采用的是主从复制,一主多从的方案。在默认情况下mysql架构方案是不具备高可用性的,当主节点挂掉以后从节点是没有“感知”不会采取“行动”的。MHA就是最成熟的mysql高可用方案2.MHA:故障发现与转移判断master已经挂掉:MHA manager ping 三次master,当ping不通的时候可以判断有两种情况。a.MHA manager 到master的通信断掉。b.master挂原创 2022-01-17 21:24:18 · 1141 阅读 · 2 评论 -
8.每日一读—Canal实现mysql异构数据同步
1.什么是异构数据MySQL中存储的数据,elasticsearch中存储的数据。这两种数据就是异构数据。2.身处漩涡中心的mysql团队举个栗子:在一个商城的开发项目中有一个mysql团队,使用mysql来保存商品的信息。现在需要增加一个“全文检索”的功能,成立了Elasticsearch团队。mysql中新增加一条信息,就需要mysql团队调用Elasticsearch团队的接口新建商品信息。这样就出现了一个严重的问题,代码出现了强耦合。mysql团队必须了解elasticsearch团队原创 2022-01-17 20:47:28 · 1537 阅读 · 0 评论 -
7.每日一读一CAP定理
一致性C代表更新操作成功后,所有节点在同一时间的数据完全一致。可用性A代表用户访问数据时,系统是否能在正常响应时间返回预期的结果。分区容错性P代表分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务AP表现为订单创建后不等待库存减少直接返回处理结果CP表现为订单创建后一直等待库存减少后才返回结果AC表现为不再拆分数据系统,在一个数据库的一个事务中完成操作,也就是单体应用...原创 2022-01-12 20:49:38 · 646 阅读 · 0 评论 -
6.每日一读—IP直连的问题
1.IP直连有什么问题?1.1 什么是IP直连举个栗子:在写代码时连接数据库使用的IP地址1.2 IP直连带来的问题强耦合:2.如何解决IP直连的问题?2.1 使用内部DNS简单粗暴但没有故障发现与转移多IP只有轮询规则2.2 注册中心支持故障发现与故障转移多种负载均衡规则架构复杂度增加...原创 2022-01-12 20:39:59 · 1364 阅读 · 0 评论 -
5.每日一读—布隆过滤器的应用
1.什么是布隆过滤器巴顿.布隆于一九七零年提出的,其主旨是采用一个很长的二进制数组,通过一系列的Hash函数来确定该数据是否存在。本质就是一串二进制数组2.举一个栗子解释布隆过滤器以京东举例,京东的每一个商品都有一个唯一的SDK编号。当用户请求该商品的流程是系统使用redis缓存服务器提高性能,商品的数据会加载到缓存服务器中,用户访问商品,如果缓存里面存在就会直接返回给用户,不会走数据库。但是当有人使用爬虫恶意请求缓存中不存在的数据(缓存穿透攻击),少量的缓存穿透是没有影响的。缓存穿透原创 2022-01-11 22:39:13 · 503 阅读 · 1 评论 -
4.每日一读—大表的自增主键问题
1.思考为什么大厂严禁使用自增主键1.1 在分布式数据环境下有严重的问题资源浪费(表分片后无法动态扩展)必须提前做好分片规划,造成资源浪费自增主键必须连续,只能采用”范围分片”形式,会产生“尾部热点”效应1.2 使用UUID可以替代自增主键吗?不可以!使用UUID是无序的,作为主键会涉及大量索引重排1.3 雪花算法(Snowflake)Twitter 公司分布式项目采用的 ID 生成算法。实现雪花算法时要注意时间回拨带来的影响。...原创 2022-01-11 22:01:12 · 195 阅读 · 0 评论 -
3.每日一读—多级缓存
1.为什么需要缓存?提升性能最直接的方法原始数据存放在MySQL数据库上,MYSQL将数据存放在硬盘上,防止数据丢失硬盘比内存设备在IO层面上慢了不止一个数量级在多数互联网应用都是读多写少的场景,使用读写分离。数据写入mysql然后同步到redis中让用户进行读写,这里的redis就是缓存了2.分布式缓存讲解2.1客户端浏览器将一些静态资源保存到本地(设置有过期时间),从而减少重复请求静态资源。响应头:Expires与Cache-Control的区别Expires是指定具体某个时原创 2022-01-10 21:46:31 · 1349 阅读 · 0 评论 -
2.每日一读-为什么需要垂直分表?
通过将重要字段单独剥离出一张小表,让每一页能够容纳更多的行,进而缩小数据扫描的范围,达到提高执行效率的目的。原创 2021-12-14 16:10:38 · 2140 阅读 · 0 评论 -
1.每日一读-MySQL模式与应用场景
1.单库模式1.1 优点简单粗暴适合数据量千万一下小型应用企业网站、创业公司首选。1.2 缺点不具备可用性与并发性2.读写分离集群模式2.1 读写分离带来的问题架构复杂度提升,成本提高所有节点数据需要保持同步适用于读多写少的情况,表单不能过千万级的互联网应用需要配合MHA中间件方案实现高可用3.分库分表集群模式(分片)3.1 分库分表(分片)模式带来的问题架构复杂度提升,成本提高每个节点数据是所有数据的子集适合于十亿级数据总量的应用不具备高可用性3原创 2021-12-13 16:48:29 · 1563 阅读 · 0 评论