![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 64
王者之路001
解决问题才是王道!
展开
-
SpringBoot之JPA框架下如何使用JTA——分布式事务解决方案
本篇博客的精髓,在于实现Springboot框架下的分布式事务。原创 2022-10-11 14:54:52 · 920 阅读 · 0 评论 -
大规模后台导出Excel无法并发
近日,完成一个功能。需要后台在数据库导出数据,然后,生成Excel发送给前端。原来的程序,是C#写的,采取简易原则,继续在原有工程上实现。碰到的第一个问题是,原有的ApiController不支持Response语法。于是,改为Controller实现。第二个问题,是Excel的导出库。最开始,试图用CSV作为Excel导出,发现部分数据会存在格式问题,于是,最终采用了Excel导出库。最后,综合以后,选用NPOI库。样例代码如下:public class FileDownContro原创 2022-04-29 13:58:19 · 1705 阅读 · 0 评论 -
ShardingSphere分库分表方案
最近,在研究后台数据库过大的时候,相关的分库分表解决方案。1.分库分表当一个数据库里的数据库和数据表足够大的时候,就面临很多问题。由于数据库大多采用B树存储,当数据量太大的时候,会发生资源访问过大,数据迟缓问题。面对这类问题,比较好的方案是分库分表。分库分表的方案有两种:垂直切分和水平切分。垂直切分一般为不同业务和不同字段分割到不同部分,水平切分一般为同一数据库或数据表根据一定规则分到不同的数据库和表里。一般来说,库一般采用垂直切分,优点是专库专用;表采用水平切分,避免数量过大。2.原创 2022-03-23 09:26:53 · 1280 阅读 · 0 评论 -
支付宝DTS架构
最近,在忙着做一个任务,很奇怪发现后台的业务,付款和销账并不是在一个同一个事务里。按照我的理论,付款和销账这些属于数据库的业务,显然应该是在一个事务里,才能保证数据的一致性。与后台的负责人交流以后,告诉我付款和销账确实是两个过程。作为软件厂商,自己只能负责自己的事务一致性,但不能保证别的厂商提供的软件服务的一致性。这番陈述,似乎说服了我,但貌似并不是最好的解决方案。理论上,以上事务属于分布式事务。分布式事务,一般采用两阶段(2PC);即第一段提交完成,再进行第二段提交。但这种方式,会造成所有原创 2022-03-09 10:33:23 · 3746 阅读 · 0 评论 -
SpringCloud
1.微服务 微服务(英语:Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic)的API集相互通信。 微服务提供了单一职责、单一任务的服务,让服务得以小型化和独立化。微服务即提供这样的一种方案:对外提供一个服务服务接口,而内部提...原创 2021-11-04 16:30:03 · 522 阅读 · 0 评论 -
分布式事务或跨库事务——一次修改多个数据库的数据
近日在做一个操作,需要牵涉到多个数据库的操作。当初在设计数据库的时候,数据库作为了前后台通信的数据记录凭证;且由于业务关系,多个凭证放到了不同数据库。当修改凭证的时候,会牵涉到多个数据库的修改。整个过程运行了都基本无问题;但我在审阅代码的时候,发现一个很致命的问题:就是操作多个数据库的时候,没有保证多个数据库的数据的一致性;也就是一个数据库数据修改以后,如果发生错误,另一个数据库可能不会被修改,造成数据的不一致性。正常情况下,不会发生数据不一致;但程序的意义,是保证更方便和流程无问题。于是,笔者想到原创 2021-08-09 10:56:06 · 1828 阅读 · 1 评论 -
事务与分布式事务
1.事务事务,是指要做的或所做的事情。在计算机中,事务是指访问并更新数据库的一个执行单元。事务由四大特性:1)原子性(Atomicity):一个事务,是独立的单元,要么不做,要么全部完成。2)一致性(Consistency):事务必须使数据库从一个一致性状态到另一个一致性状态。3)独立性(Isolation):事务不能被其他事务干扰,即单个事务相对于其他事务是隔离的。4)持...原创 2019-07-19 15:03:30 · 171 阅读 · 0 评论 -
微服务与docker
1.微服务从本质上来说,微服务是一种思想,即把复杂的服务拆分为一个个微小的服务的过程。关于微服务的介绍,比较权威的思想的说法是ThoughtWorks 公司的首席科学家 Martin Fowler 的一段话:"In short, the microservice architectural style is an approach to developing a single appli...原创 2019-08-04 20:41:33 · 444 阅读 · 0 评论 -
计算机仿真问题总结
前言 笔者曾从事过一段时间的仿真行业,对计算机仿真,有一定理解。现对仿真问题进行总结。一、仿真及其意义 仿真(Simulation),是指对真实世界的模仿;理论上,一切对真实世界和现实的模仿和模拟,都是仿真。 从仿真的概念出发,其实我们可以发现仿真无处不在;我们对现实的模仿和模拟,无处不在。 仿真的意义在于:通过模仿和模拟,...原创 2019-09-01 00:46:30 · 1476 阅读 · 0 评论