编程心得
咸鱼老罗
干活人
展开
-
[微服务感悟] 很好理解的分布式事务
分布式事务跨服务的事务的处理。对于分布式事务,处理起来都比较麻烦,首先应该考虑是否可以避开分布式事务,如因为服务拆分过细而出现分布式事务,就应该把微服务合并成一个,并处理本地事务。tcc和事务管理器是两种十分常见的分布式事务模式,前者更适用于分布式的场景,后者无实现成功,框架可以傻瓜的解决一切。tcc分布式事务tcc是Try - Confirm - Cancel的简写,使用这种分布式事务,需...原创 2020-04-15 14:59:48 · 630 阅读 · 0 评论 -
[微服务感悟] 服务雪崩与熔断器
介绍了微服务雪崩产生的原因,现象,简述两种解决方式,熔断器/仓壁模式原创 2020-01-14 16:49:05 · 386 阅读 · 0 评论 -
[微服务感悟] 服务发现与常见架构
文章目录什么是服务发现服务发现原始架构服务内集成网关架构统一网关架构(总线架构)service mesh微服务架构什么是服务发现既然要调用其他服务,首先知道每个调用的服务的ip和端口。怎么知道服务的地址,这个就是服务发现的作用。服务发现原始架构以前的做法是让运维给每个服务都配置一个域名,把域名映射到对应的每个节点服务器上,开发在项目的配置文件中写上每个服务和其域名,代码中拿配置文件的配置的...原创 2020-01-10 15:43:33 · 405 阅读 · 0 评论 -
[微服务感悟] 为什么会出现微服务
在以前大家都是在一个项目进行开发,所有的业务都在一起,全端和后台也在一起,那时这种开发模式称为单体程序开发。大家都开发在一个单体程序开发时,一部署也是整个服务一起部署,就必须保证每次上线不能存在一丁点儿的问题,因为一旦部署失败,整个服务都无法运行。而开发总会是存在bug的,所以每次开发结束,都有一次很长的测试并修复bug的阶段.我这前在一家软件开发公司,项目经理在分析需求之后,会设定一个又一个...原创 2020-01-06 17:16:38 · 633 阅读 · 0 评论 -
[代码优化]null校验的优美处理
我们写java代码的时候,使用对象前,都会下意识先判断对象非null,这是防止NPE的无奈之举,毕竟入门写代码时都写过npe的代码。这么做真的好吗,每层方法中都有这null的判断,导致很多null的判断都是重复的,我们对每个方法的返回都持有一个怀疑不确定的态度,是导致代码各个地方都有非null校验的原因。在严格的面向接口编程的语义中,通过接口方法我们就应该了解返回的是否会存在没有数据的情况,只有...原创 2020-01-03 11:58:57 · 1045 阅读 · 1 评论 -
[微服务架构]及联问题和断路器
及联问题是一个很严重的问题,它的现象是多个业务共用一个资源池,如果其中一个业务访问外部系统,当外部系统响应缓慢,且访问量大的时候,这个业务会占用所有的资源池 ,导致其它所有的业务都无法工作。在微服务中,由于服务越来越多,从概率上说,其中某个服务发生概率的情况就越来越大。对于每个对其它服务的请求,我们都要考虑它可能会出问题,设计时考虑会不会产生及联问题,和发生了应该怎么处理,之前我在工作中就出现过...原创 2019-12-18 18:00:41 · 194 阅读 · 0 评论 -
java自测心得、技术选型和实现方式
程序员自测是很重要的一个环节,我认同测试驱动开发的理念,经过一段时间的测试代码的编写,发现测试代码需要保证几点,1.测试代码可重复跑,不能跑过一次,改了数据库数据就不能跑了。2.测试代码写好后,尽可能保持不变,哪怕代码变后,直接跑测试就能验证修改是否正确,而不是把测试代码,测试数据再改一遍。service层测试要与数据库解耦,不能因为数据库数据的变化影响测试,我曾经使用int.sql去对数据库做i...原创 2019-05-15 10:41:55 · 1014 阅读 · 0 评论