最近乘着项目的空档期,大略的读了一下《分布式服务架构》一书。这本书首先介绍了分布式微服务与SOA服务的对比。从而衍生出对应的相关微服务相关的知识点。 它主要讲的不是技术,而是一种习惯。代码,架构,风格以及后期运维的习惯。

其实现在自己写的项目虽然用到了微服务的很多特点,但是自我感觉和书中的微服务理念有些矛盾。比如现在项目将所有向外部的RPC接口都集中于另一个项目之中,造成后期更新的时候需要两个项目都做对应调整。

下面总结了一下本书我觉得最有用处的章节,以供自己回忆复习:

1.整个服务搭建的流程集团已经很标准化。Pandora Boot已经是主流的框架。它相当于一个升级版的Spring boot。继承了Spring的所有优点:例如通过MAVEN的定制化标签,快速创建spring boot应用等等。 全程没有XML配置,也不需要代码生成。

2.目前公司大部分使用的是HSF服务取代了Dubbo。 原因是HSF在处理注册中心十万级别应用比dubbo更有优势,更轻。还有服务降级,服务熔断,链路跟踪等优势。

3.大数据的log日志管理:现在使用的是Slf4j框架来做日志管理。它的优势就是应用程序可以只依赖于Slf4j来实现日志打印,具体的日志实现是由配置来决定使用log4j还是logback等。这样就可以在不改变应用代码的前提下切换底层的日志实现。

Tips:项目在打日志的时候也会对应用的性能造成影响(因为在某些并发的时候,日志可能会加锁)。对于这个解决方式:根据不同的环境:生产环境,日常环境,预发环境来精炼自己的log。比如在像生产环境中比较稳定的环境中就可以适当的去掉一些DEBUG级别的log。第二可以在logback-spring.xml配置使用异步的appender。as shown below:

4.本书最大的收获就是给出了很多Java运维时候需要用到的相关命令(inculde linux),还给出了作者相对应的排查过程:下面是我总结的比较有用的一些命令:

Linux 操作:

Linux log 日志查看:

1.根据两个时间点查看日志:sed -n '/2017-06-04 14:06:27/,/2017-06-04 14:06:34/p'  test.log (可以查看时间点之间的日志)

2.输出最后一次匹配grep条件的数据行的前后各10行:(借助tail命令取最后几行)

grep  -n  -C10  'R0619'  caps-biz.txt | tail -n 21 | less(借助less命令的/pattern可以高亮搜索词)

grep  -n  -C10  '条件'  文件名 | tail -n 21 | less(借助less命令的/pattern可以高亮搜索词)

2018-11-26 10:37 -2018-11-26 11:04

3.Grep 命令 用法大全

参数:

-I :忽略大小写 
-c :打印匹配的行数 
-l :从多个文件中查找包含匹配项 
-v :查找不包含匹配项的行 
-n:打印包含匹配项的行和行标

4.查看Java进程,排除eclipse上的进程

ps -ef | grep java | grep -v eclipse

5.jmap 对Java内存使用情况进行统计:

a.jmap -histo:live processId

按照占用空间的大小打印程序中类的列表,从这个列表中可以分析哪些类占用了比较多的内存,再结合代码找到问题的所在

b.jmap processId

按照占用空间的大小打印程序中加载的动态链接库的列表。

c.jmap -heap processId

查看堆的概要信息

都不能解决的时候,最终方案:导出Java堆的快照,然后通JMAAT等工具详细分析。

jmap -dump:format=b,file=./heap.hprof processId

6.如果想用在阿里生产机器上使用java命令,需要cd /opt/java 然后找到对应的bin 就可以使用java语句了。(./java -version)

7.jstat 是JDK自带的监控工具,在JDK的根目录里可以找到。使用示范:(可以看到JVM内部更个区域的使用占比和GC消耗的时间):S0,S1,E,O,M

jstat -gcutil processId 5000 10

8.jstack processId:

jstack 命令用于打印给定的Java进程ID的线程堆栈快照信息,从而可以看到java进程内线程的执行状态,正在执行的任务等,可以据此分析线程等待,死锁等问题

9.uptime:查看机器的启动时间,登陆用户数,平均负载情况。可以用于线上应急或者技术公关中确定操作系统重启的时间。平均负载数量是CPU内核中运行的平均数。通常情况一个CPU的进程数量不超过3个的话就说明服务比较健康。

10.使用curl可以在Restful的测试中起到作用。

11.pidstat -urd -p processID

用于监控全部或指定的进程占用系统资源的情况,包括CPU,内存,磁盘I/O,线程切换,线程数等数据。

12.pmap -d 2862

此命令用来显示比较底层的进程模块占用内存的信息,并且可以打印内存的起止地址等,用于定位深层次JVM或者操作系统的内存问题

13.netstat -nap | grep processID

根据进程ID查找进程开启的端口。

14.netstat -nap |grep 端口

根据端口查找进程

《分布式服务架构》读后感相关推荐

  1. GC13:XO独占游戏《神鬼寓言传奇》公布

    作者: 来源: www.bts668.com 微软日前公布了<神鬼寓言传奇>(Fable Legends),该游戏是此系列作品的新作,将作为Xbox One游戏出现. 这款由狮子头工作室开 ...

  2. Facebook 重金挖不到,ASP.NET 之父,微软大神“红衣教主”传奇

    作者 | 伍杏玲 出品 | CSDN (ID:CSDNnews) 2018 年底,微软"王者归来",时隔 16 年市值重返全球第一.人们纷纷用"力挽狂澜"&qu ...

  3. 乔布斯去世衍生多种周边产品(支持乔布斯请顶)

    各种乔布斯肖像 乔布斯公仔 乔布斯立体纸人 不管你是不是狂热的苹果粉丝,是不是拥有n多的苹果产品,苹果帮主乔布斯都应该值得我们纪念. "为什么说乔布斯改变了世界?没有 iPhone,就不会有 ...

  4. 一战封神!“中国飞人”苏炳添跑出9秒83到底有多牛?

    公众号后台回复"图书",了解更多号主新书内容作者:CDA数据分析师来源:CDA数据分析师 [导读] 在刚刚结束的东京奥运会百米飞人大战上,中国选手苏炳添在半决赛跑出9秒83,刷新了 ...

  5. 乔布斯导演的最后一幕

    连作者也说,他仅仅是这本书的写作者,真正的作者是乔布斯."中信出版社总编辑潘岳近日分享了<史蒂夫·乔布斯传>幕后的故事.这本传记预定期已达100万册,预估最终销量将达到500万册 ...

  6. 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全

    史上最牛的Linux内核学习方法论   点击下载 我的arm_linux移植笔记   点击下载 S3C2440完全开发流程   点击下载 Linux系统命令及其使用详解完整版   点击下载 Linux ...

  7. 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全...

    史上最牛的Linux内核学习方法论 点击下载 我的arm_linux移植笔记 点击下载 S3C2440完全开发流程 点击下载 Linux系统命令及其使用详解完整版 点击下载 Linux主要shell命 ...

  8. 养成励志的习惯,一生励志——文指星终极励志

    语言的突破全集 卡耐基 --励志经典     点击下载 人性的优点--卡耐基名著--励志经典     点击下载 人生格言精华总集     点击下载 人生定律与原则--励志经典     点击下载 厚黑学 ...

  9. 养成励志的习惯,一生励志

    语言的突破全集 卡耐基 --励志经典     点击下载 人性的优点--卡耐基名著--励志经典     点击下载 人生格言精华总集     点击下载 人生定律与原则--励志经典     点击下载 厚黑学 ...

  10. 【转】乔布斯经典语录

    2011年8月25日消息,乔布斯辞去了苹果公司CEO的职务.10月6日,传来了他去世的消息.在此缅怀乔帮主的同时,与大家分享乔布斯在世时的经典语录.(来自于<乔布斯传>--神一样的传奇的附 ...

最新文章

  1. 用secureCRT操作ubuntu终端
  2. 基于python的文件传输程序_7个步骤,教你快速学会用python实现ftp文件传输功能(收藏了)...
  3. 信息安全管理体系 ISMS
  4. python入门之类的基础语法-关于一些Python的一些基础语法训练
  5. [react] React中你有使用过propType吗?它有什么作用?
  6. [Hands On ML] 5. 支持向量机
  7. 数字反转(信息学奥赛一本通-T1089)
  8. android 动态contextmenu,Context-Menu.Android
  9. 12306微信小程序上线 提供余票查询暂不支持购票
  10. 台达a2_台达伺服ASDA-A2系列解决五轴CNC方案助力雕刻机行业换代升级
  11. XML wsdl soap xslt xsl ide
  12. 企业信息化基础设施建设分析
  13. Python第三方库安装及常见问题
  14. linux下word转pdf
  15. TOM邮箱超级靓号来袭,12年送12年开始抢注了哦~
  16. 腾讯云游戏多媒体解决方案
  17. 海尔计算机无法装win7系统,海尔Haier电脑预装win8换win7系统BIOS设置及安装教程
  18. 峰瑞资本李丰:共享经济如何改造专业且非标准化的服务业
  19. RecyclerView+index索引实现仿微信通讯录
  20. 心若改变,态度就会改变;态度改变,习惯就改变;习惯改变,人生就会改变

热门文章

  1. java绘制坐标和波形图_java绘制波形图
  2. Python——理论学习笔记
  3. html播放mp4不显示画面,浏览器播放mp4格式视频时只有声音看不到画面的原因及解决方法(精)...
  4. 排队问题解题思路_有关排队问题的排列组合题解法举例
  5. SQL 筛选某一时间大于某一个值的数据及数量
  6. 青山常在,绿水长流,又一个新地方了
  7. java咖啡馆_Java咖啡馆(11):Java插件技术
  8. java提现功能开发_如何利用java实现提现金额到支付宝账户的功能
  9. 工作多年,分享16条实用职场经验给你
  10. oracle宕了,帮忙分析原因:数据库宕了(急)