spring boot 分布式事务解决方案LCN
对比LCN和saga(华为apache孵化器项目),LCN使用代理连接池封装补偿方法,saga需要手工写补偿方法,相对来说LCN使用更加方便。参考官方地址1.原理1.事务控制原理LCN事务控制原理是由事务模块TxClient下的代理连接池与TxManager的协调配合完成的事务协调控制。TxClie
一篇文章让你搞懂什么是TCP/IP协议
什么是TCP/IP协议?计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,操作系统之间的通信,所有这一切都需要一种规则.而我们就将这种规则称为协议(protocol).也就是说
一篇文章让你搞懂什么是TCP/IP协议
什么是TCP/IP协议?计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,操作系统之间的通信,所有这一切都需要一种规则.而我们就将这种规则称为协议(protocol).也就是说
linux下的C语言开发(makefile编写详解)
对于程序设计员来说,makefile是我们绕不过去的一个坎。可能对于习惯VisualC++的用户来说,是否会编写makefile无所谓。毕竟工具本身已经帮我们做好了全部的编译流程。但是在Linux上面,一切变得不一样了,没有人会为你做这一切。编代码要靠你,测试要靠你,最后自动化编译设计也要靠你自己。
为啥这个查询使用索引,那个查询不使用索引,学会才发现真tm简单
来源于关注我们都是小青蛙,作者小孩子4919B+树结构我们说对于InnoDB存储引擎来说,表中的数据都存储在所谓的B+树中,我们每多建立一个索引,就相当于多建立一棵B+树。对于聚簇索引对应的B+树来说,叶子节点处存储了完整的用户记录(所谓完整用户记录,就是指一条聚簇索引记录中包含所有用户定义的列已经
为什么Java线程没有Running状态?
来源:https://dwz.cn/dLRLBZabJava虚拟机层面所暴露给我们的状态,与操作系统底层的线程状态是两个不同层面的事。具体而言,这里说的Java线程状态均来自于Thread类下的State这一内部枚举类中所定义的状态:什么是RUNNABLE?直接看它的Javadoc中的说明:一个在J
15 个 Linux 神器,你会用几个?
作者:int32bit来源:http://t.cn/R1FKgdNag:比grep、ack更快的递归搜索文件内容。tig:字符模式下交互查看git项目,可以替代git命令。mycli:mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。jq:json文件处理以及
JVM 发生 OOM 的 8 种原因、及解决办法
原文地址:https://dwz.cn/fx1KyZh0作者:占小狼小A:xx服务又宕机了小B:歪日,咋搞的,登上去看看咋回事小A:又OOM了,不知道哪个**写的代码,一坨*一样。撸Java的同学,多多少少会碰到内存溢出(OOM)的场景,但造成OOM的原因却是多种多样。堆溢出这种场景最为常见,报错信
Java:如何更优雅的处理空值?
导语在笔者几年的开发经验中,经常看到项目中存在到处空值判断的情况,这些判断,会让人觉得摸不着头绪,它的出现很有可能和当前的业务逻辑并没有关系。但它会让你很头疼。有时候,更可怕的是系统因为这些空值的情况,会抛出空指针异常,导致业务系统发生问题。此篇文章,我总结了几种关于空值的处理手法,希望对读者有帮助
MySQL 性能优化之骨灰级,高阶神技
一、前言MySQL调优对于很多程序员而言,都是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。今天给大家讲解MySQ
Java 如何设计 API 接口,实现统一格式返回?
前言在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要重新认识一下前端,前端已经很成体系了)一般系统的大致整体架构图如
12306 抢票,极限并发带来的思考?
每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票!虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。“12306服务”承受着这个世界上任
这样讲 API 网关,你应该能明白了吧
为了提高系统的性能和可靠性,将应用服务进行拆分微服务化。作为系统入口的API网关也逐渐成为了标配。今天我们一起来看看API网关的设计思路,需要承载了哪些功能?以及如何选择流行的API网关?什么是API网关既然需要API网关为我所用,首先就让我们来了解一下什么是API网关。什么是API网关网关一词最早
Java 动态代理及 RPC 框架介绍
作者:Frapples来源:https://frapples.github.io/articles/2018-03-30-4a97.html所谓动态代理,指的是语言提供的一种语法,能够将对对象中不同方法的调用重定向到一个统一的处理函数中来。python重写__getattr__函数能够做到这一点,就
推荐:mac上svn常用命令及好用的工具
作者:snandy来源:https://www.cnblogs.com/snandy/p/4072857.html#MacSVN命令行Mac自带了SVN命令行,如我的升级到10.10(OSXyosemite)后命令行版本为1.7.10以下是一些常用命令1、将文件checkout到本地目录svnche
提高代码可读性的 10 个技巧
作者:开源中国来源:https://www.oschina.net/translate/具有较强可读性的代码,能帮助你调试程序,不让自己活得太累。代码可读性是计算机编程领域中普遍存在的问题。这也是我们成为开发者首先要学习的事情之一。本文会详细介绍在编写强可读性代码时最佳实践中最重要的一部分内容。一注
Java Service Wrapper这种上古神器用过没?
作者:g21121来源:https://www.iteye.com/blog/286-1915478在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启。解
一台 Java 服务器可以跑多少个线程?
作者:新栋BOOK来源:www.jianshu.com/p/f1930596947d一台Java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值。京东自研UMP监控分析打出jstack文件,通过IBMThreadandMonitorDumpAnalyzerforJava工具
11 个简单的 Java 性能调优技巧
作者:码农网–小峰来源:http://www.codeceo.com/article/11-simple-java-performance-tips.html大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识。好吧,不能说这是完全错误的。优化应用程序以获得最佳性能不是一件容易的事情。但
数据库之互联网常用分库分表方案
作者:尜尜人物来源:https://www.cnblogs.com/littlecharacter/p/9342129.html一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接