摘要: Sleuth的原理是在Thread里面保存了当前的Trace/Span等信息,通过MDC传给了selfj用来打日志。在调用到Feign、MQ的时候,通过把Thread里面的信息,保存到远程调用的Header里面,传给下一个服务。这在你是一个线程里面执行的时候没有问题。比如你A调用B服务,A是通过Ht 阅读全文
posted @ 2018-01-11 15:26 邓志国 阅读(946) 评论(0) 推荐(0) 编辑
摘要: 单元测试 单元测试应该如何做?这个争论非常大。从极限的TDD到几乎不做单元测试都有。我面试过的程序员,只有不到5%所在公司有比较标准的单元测试。我对单元测试的态度是:要做,但不是什么都要做。我们把单元测试放在协议测试、端到端测试不容易到达、检测的地方。比如一些条件判断、异常检查、复杂的计算等。这些特 阅读全文
posted @ 2017-10-11 09:57 邓志国 阅读(223) 评论(0) 推荐(0) 编辑
摘要: Spring cloud 的config server,可以很方便管理各个应用的配置。但我们在每个应用中,可能有大量重复的配置,比如都有相同的数据库、消息队列、redis等。如果放到每个应用的配置文件里面,要改动就要修改很多个配置,非常麻烦。我们可以把各个基础设施,每个基础设置做一个配置。如数据库、 阅读全文
posted @ 2017-09-08 15:44 邓志国 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 两边erlang版本保持一致 安装前先设置hostname,起个容易阅读的别名。 加入集群前,要先保持两边的.erlang.cookie一致 加入集群前,加入的一方先rabbitmqctl stop_app,加入成功后再start_app 集群需要4396端口,需要打开。 阅读全文
posted @ 2017-08-31 09:10 邓志国 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 首先,在工程的根目录创建一个目录用来存放第三方库,如libs,把第三方库都copy进去。 然后,在pom.xml里面增加一个本地的respository 在libs的目录下,应该按照maven库的路径存放,如对于阿里云的类库,依赖配置是: 那么对应的libs下面的路径是 libs/com/aliyu 阅读全文
posted @ 2017-08-01 18:43 邓志国 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 在Spring 项目中使用thymeleaf引擎,可以很好地解决部署问题,不用再导出jsp文件。真正做到一个jar包即可发布。但Thymeleaf有个缺陷:必须重启工程才能刷新。其实把配置稍微改一下,就可以在开发的时候动态刷新。 阅读全文
posted @ 2017-07-11 17:54 邓志国 阅读(9319) 评论(0) 推荐(0) 编辑
摘要: #!/bin/bash# chkconfig: 2345 80 20# description: service name 阅读全文
posted @ 2017-07-04 21:49 邓志国 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 看到热门上编辑推荐了一篇文章,没有功能需求就拒绝开发,地址:http://www.cnblogs.com/charliechu/p/6553988.html ,引来很多人评论,看了评论大多数表示支持,也有少部分反对。我来谈谈我的看法。 在软件开发中,产品也不是万能的。对新产品的开发,他们也不能一开始 阅读全文
posted @ 2017-03-16 09:52 邓志国 阅读(414) 评论(0) 推荐(1) 编辑
摘要: Spring boot对MQ类如RabbitMQ、kafka支持都很好,但是仍然要写一些模板代码。Spring cloud stream进一步掩盖了这个差异,仅仅使用配置就可以完成。 Spring cloud Stream 用了基于topic-subsriber的模式,虽然不支持全部MQ的特性,但绝 阅读全文
posted @ 2017-03-15 16:52 邓志国 阅读(17635) 评论(4) 推荐(1) 编辑
摘要: 现在Spring等框架可以支持别用War发布而是用Jar发布,这样服务器就不用安装容器了,方便不少。但不安装容器就需要自己来写脚本完成服务的启动、停止、重启。 脚本如下: 阅读全文
posted @ 2017-03-09 17:47 邓志国 阅读(3066) 评论(0) 推荐(0) 编辑