分布式
文章平均质量分 88
softwareDragon
软件工程师一枚
展开
-
高并发系统的演进(如何设计一个高并发系统架构)
一:系统拆分:将一个系统拆分为多个子系统,用dubbo或springCloud来搞,然后每个系统连接一个数据库,这样就可以对并发访问起到一定的作用。二:缓存:必须得用缓存。大部分的高并发场景,都是读多写少,完全可以在数据库和缓存中都写一份,然后读的时候大量都是走的缓存。毕竟redis轻松单机几万的并发是完全没有问题的。三:MQ:可能你还是会出现高并发写的场景,比如一个业务操作里要频繁操作数据库多次,这时候就得用MQ了,大量写请求到MQ里,后边的系统消费后慢慢写,控制在mysql承载范围之内,MQ单机原创 2020-12-05 10:45:15 · 193 阅读 · 0 评论 -
elasticSearch es 概念 写入 读取 搜索数据 原理
1.index 相当于数据库中的一张表2.mapping相当于字段表结构的定义(字段及类型)3.document代表数据表中的一条数据,每个document中有多个filed,每个filed就代表这个document中一个字段的值4.shard 每个index会被拆成多个shard,每个shard中放index的一部分数据,每个shard可能分在不同的机器上,每个shard都有一个副本,主数据和副本不在同一台机器,primary shard 会自动同步到replication shard上m原创 2020-11-24 17:36:01 · 254 阅读 · 0 评论 -
java 分布式事务
分布式事务-跨库事务1,XA/JTA(2PC)两阶段提交第一阶段:预提交(如:1.执行完sql,还没有commit 2.锁定资源 3.校验数据库、缓存中间件是否正常)第二阶段:真正的提交使用框架Atomikos(相当于一个全局的事务管理器)分布式事务-微服务...原创 2020-02-23 22:34:04 · 276 阅读 · 0 评论 -
分布式数据库中间件sharding-jdbc、mycat、drds对比
一般对于业务记录类随时间会不断增加的数据,当数据量增加到一定量(一般认为整型值为主的表达到千万级,字符串为主的表达到五百万)的时候,性能将遇到瓶颈,同时调整表结构也会变得非常困难。为了避免生产遇到这样的问题,在做系统设计时需要预估可能产生的数据量:预估记录主体个数*预估记录主体产生的记录数(e.g.用户订单表预估数据量=预估用户数*单用户产生订单数),预估达到一定量时,就不得不考虑分库分表了,目前...转载 2020-02-22 11:40:57 · 3542 阅读 · 0 评论