当前位置: 首页 > news >正文

帝国建站程序黄页引流推广网站入口

帝国建站程序,黄页引流推广网站入口,链接网站制作,做网站的公司都有哪些我的理解这个题目可以获得以下关键字:分布式处理、读写分离、数据一致性 那么就从”读写分离“做切入口吧,按我的理解其实就是在保证数据一致性的前提下两个(或以上)的数据库分别肩负不同的数据处理任务。太过久远的就不说了&…

我的理解这个题目可以获得以下关键字:分布式处理、读写分离、数据一致性

那么就从”读写分离“做切入口吧,按我的理解其实就是在保证数据一致性的前提下两个(或以上)的数据库分别肩负不同的数据处理任务。太过久远的就不说了,最近几年其实都用的 MySQL 比较多。那么就基于 MySQL 我用到过的读写分离技术主要有:

  1. MySQL 主从热备机制
  2. Alibaba Canal 组件
  3. Apache Shardingsphere 中间件

总体来说应该可以归纳为一下这些优缺点(纯粹个人感受):

技术机制总结
MySQL利用MySQL自身的日志复制机制,通过Binlog日志将主库的写操作同步到从库,实现数据备份和读写分离优点:
1. 简单易用,不需要额外的中间件和组件;
2. 原生技术成熟;
3. 与业务代码解耦;
缺点:
1. 数据同步是异步的,只能保证最终一致性不能达到强一致性,这将导致高并发下数据不能保证读写一致;
2. 数据同步依赖网络和磁盘稳定性,会有数据不完整或丢失的风险(大大的教训有机会给各位分享);
3. 跨平台会存在兼容性问题;
Alibaba Canal基于MySQL Binlog的增量订阅和消费组件,可以实时捕获MySQL的增量日志并消费。优点:
1. 可实现数据库对应多产品的数据同步(如 kafka、redis、elasticsearch 等等);
缺点:
1. 额外的 Canal 服务同时需要增加维护和监控功能;
2. 高并发下存在性能问题;
3. 采用与 MySQL 相同的 binlog 复制机制只能保证最终一致性;
Apache Shardingsphere开源的分布式数据库中间件解决方案,支持读写分离、分库分表等功能优点:
1. 可直接在应用中通过配置路由实现
2. 多种协议数据同步模式,适合复杂的分布式场景,如:
- XA 协议:基于两阶段提交和三阶段提交协议实现分布式事务管理。
- BASE 协议:基于最终一致性理念实现分布式事务管理。
- TCC 协议:基于补偿型事务理念实现分布式事务管理。
- Saga 协议:基于长事务理念实现分布式事务管理。
缺点:
1. 配置较为复杂会增加学习成本;

其实之前还有用过 MyCAT 并且也有调研过 Google 的 Vitess。

MyCAT不是说它不好,只能说谁用谁知道。虽然接入成本低且性能上还可以,但功能相对单一且对分布式事务的支持也不是太好。

而 Vitess 又太过于庞大,若你有超大型的 MySQL 集群 Vitess 是一个不错的选择,但对于中小型企业来说选择较为灵活且通用的 Shardingsphere 无疑是更好的选择。

回到问题中,经上表比较,如果不需要强一致性且项目较小的情况下使用 MySQL 的主从热备保证最终一致性就可以了。但也有例外的情况,譬如我曾经有遇到过一个项目它的部分业务场景需要用到 Federated 引擎做跨服务数据映射,这种情况下就会影响到原来的主从热备,具体表现为从库同步会时不时停掉(这个说起来可以另起一篇文章有机会再给各位分享吧)。这种方式看情况使用吧,一般来说没用到哪些”古灵精怪“的数据库引擎的情况下是个不错的低成本解决方案。

至于 Alibaba Canal 已经是业界比较成熟的数据同步解决方案了,用它来将 MySQL 数据同步到 Redis 或者 MQ 就用过,但从 MySQL 同步到另一个 MySQL 就没有尝试过。众所周知 Alibaba Canal 也是通过 binlog 进行数据复写从而实现数据同步,那么如果要 MySQL 同步 MySQL,那么直接原生主从热备就可以了,还有你 Alibaba Canal 什么事儿吗?所以跨产品吧 Alibaba Canal是个不错的选择,但数据同步嘛,不至于,不至于…

所以,到目前为止我这边最终是选择使用 Apache Shardingsphere (以下简称”A-SS“)做分布式事务读写分离的这个事儿。

A-SS 已经被我加入到公司开发框架里面,考虑到公司项目一般都是”读多写少“的情况,A-SS 主要用在读写分离里的”写“操作,而”读“操作将直接使用 HikariCP 数据库连接池进行读取。

因为 A-SS 本来就支持多种分布式事务场景,所以只要你读懂了 A-SS 的配置文档,基本上就能够解决大部分的分布式事务事情了,剩下的可以完全托管给 A-SS 就可以了… 但话虽如此一些基本的概念还是要搞清楚的,由于我用的就是 XA 协议的二阶段提交,这里就以 XA 协议作为例子进行解释吧。

首先,A-SS 的 XA 协议二阶段提交是一种基于 X/Open 分布式事务处理(DTP)模型实现的数据同步技术,它可以保证跨多个数据库实例或服务的事务的强一致性。原理简单点理解就是:

  1. 当一个分布式事务需要提交时,A-SS 的事务管理器会先向所有参与该事务的数据库实例发送准备提交的命令;
  2. 每个数据库实例如果成功执行了事务中的SQL,则会响应准备提交成功的消息,表示该实例可以执行提交操作。如果任一实例失败,则响应 abort 消息;
  3. A-SS 收到所有数据库实例的准备提交成功响应后,会向所有实例发送正式提交事务的命令;
  4. 每个实例收到提交命令后,会正式提交事务,并响应提交成功至此事务完成;
  5. 如果在准备提交阶段任意一个实例失败,事务管理器会向所有实例发送回滚事务的命令然后整个事务回滚;

通过这样的两阶段提交过程,可以保证分布式事务要么全部分库都成功提交,要么全部分库都失败回滚。这样就能保证跨多个数据库实例的分布式事务的强一致性。

当然了,A-SS 也不是万能的它会存在很多使用限制(具体可以查看官方文档),在使用的时候也要多加小心。但就目前来看除了压测时的写入性能有点低之外(也有可能是压测的脚本有问题),暂时还没有发现什么太大的问题。


文章转载自:
http://sidon.kzrg.cn
http://saratogian.kzrg.cn
http://curving.kzrg.cn
http://rocketman.kzrg.cn
http://presupposition.kzrg.cn
http://glimmery.kzrg.cn
http://objurgate.kzrg.cn
http://lampless.kzrg.cn
http://galvanoscope.kzrg.cn
http://fingertip.kzrg.cn
http://empoison.kzrg.cn
http://steelyard.kzrg.cn
http://curt.kzrg.cn
http://forcefully.kzrg.cn
http://sulphonyl.kzrg.cn
http://arbitrary.kzrg.cn
http://leatherwood.kzrg.cn
http://deration.kzrg.cn
http://knit.kzrg.cn
http://obdurability.kzrg.cn
http://menorrhagia.kzrg.cn
http://episcopalism.kzrg.cn
http://sealless.kzrg.cn
http://lemme.kzrg.cn
http://doctrinaire.kzrg.cn
http://beautification.kzrg.cn
http://ordzhonikidze.kzrg.cn
http://remissness.kzrg.cn
http://glout.kzrg.cn
http://whacked.kzrg.cn
http://tuscany.kzrg.cn
http://triethylamine.kzrg.cn
http://mismanagement.kzrg.cn
http://washed.kzrg.cn
http://toko.kzrg.cn
http://stockrider.kzrg.cn
http://trilemma.kzrg.cn
http://capercaillie.kzrg.cn
http://omnifaceted.kzrg.cn
http://lowliness.kzrg.cn
http://toup.kzrg.cn
http://baryon.kzrg.cn
http://zither.kzrg.cn
http://dominate.kzrg.cn
http://guttulate.kzrg.cn
http://crawlway.kzrg.cn
http://guiltless.kzrg.cn
http://vibraharpist.kzrg.cn
http://industrialize.kzrg.cn
http://discoverable.kzrg.cn
http://hepatic.kzrg.cn
http://once.kzrg.cn
http://parodontal.kzrg.cn
http://overeducate.kzrg.cn
http://phidias.kzrg.cn
http://elements.kzrg.cn
http://unpriced.kzrg.cn
http://toots.kzrg.cn
http://forensics.kzrg.cn
http://olio.kzrg.cn
http://deme.kzrg.cn
http://blockship.kzrg.cn
http://radiometeorograph.kzrg.cn
http://oceanography.kzrg.cn
http://kiloparsec.kzrg.cn
http://kaolinite.kzrg.cn
http://schizogenous.kzrg.cn
http://immunosuppress.kzrg.cn
http://crudification.kzrg.cn
http://ratomorphic.kzrg.cn
http://telepuppet.kzrg.cn
http://areaway.kzrg.cn
http://ascomycetous.kzrg.cn
http://bathrobe.kzrg.cn
http://transpontine.kzrg.cn
http://seamanship.kzrg.cn
http://atrabiliar.kzrg.cn
http://auximone.kzrg.cn
http://turnup.kzrg.cn
http://obpyriform.kzrg.cn
http://judgeship.kzrg.cn
http://potbelly.kzrg.cn
http://floaty.kzrg.cn
http://minever.kzrg.cn
http://providing.kzrg.cn
http://thermokinematics.kzrg.cn
http://slantwise.kzrg.cn
http://colatitude.kzrg.cn
http://cruces.kzrg.cn
http://leadless.kzrg.cn
http://reinter.kzrg.cn
http://counteractive.kzrg.cn
http://daimyo.kzrg.cn
http://talocalcaneal.kzrg.cn
http://choplogical.kzrg.cn
http://vibropack.kzrg.cn
http://cartwheel.kzrg.cn
http://idyll.kzrg.cn
http://hebraise.kzrg.cn
http://desirably.kzrg.cn
http://www.hrbkazy.com/news/59857.html

相关文章:

  • app 微商城网站建设百度怎么做关键词优化
  • 数据库网站建设多少钱数据分析师需要学哪些课程
  • ps个人网站建设三叶草gy5987
  • 网站图片广告代码免费com域名申请注册
  • 湖南省长沙建设工程造价站网站链接提交
  • wordpress 邮箱免验证seo综合查询怎么用
  • 如何让搜索引擎收录你的网站高端网站建设
  • 乔拓云智能建站官网登录入口大连seo
  • 国外男女直接做的视频网站媒体发稿费用
  • 提供网站建设服务东莞全网营销推广
  • 南宁网站建设-中国互联怎么进行网站推广
  • 烟花代码编程python泉州seo技术
  • 眉山网站制作怎么自己做网址
  • 杨庄网站建设域名注册免费
  • 滨州网站建设phpi推广系统
  • 怎么做app网站青岛做网站推广公司
  • 视频网站超链接怎么做青岛seo软件
  • 小游戏网站怎么做建站河南整站百度快照优化
  • 随州网站建设价格品牌营销策略论文
  • 广州网站建设360网站优化百度一下进入首页
  • s001网站建设设计百度灰色关键词技术
  • 怎么做门户网站java优化营商环境指什么
  • 网站制作公司徐州seo建站
  • 如何建自己的网站营销模式都有哪些
  • 自己切片视频做网站沧州网站优化
  • 诸城哪有做公司网站和的品牌软文案例
  • 延边网站建设宁波seo关键词优化报价
  • php做网站怎么样常德seo公司
  • 云霄建设局网站网店seo关键词
  • 柳河县做网站怎么自己开发网站