我们毕业了

刘启春

三月软件14期合照

依稀记得 18 年夏秋之交,我怀着激动的心情进入大学,燥热的空气为新生渲染着氛围,校园内都在表达着对新生的欢迎,那时的我们充满着对未来的向往,现在我们毕业,穿上了学士服。

我的大学过的算充实,周末、寒暑假我都在实验室中度过的。在实验室里比较自由,有许多时间学习感兴趣的计算机知识,我大学掌握的知识多来自于此,因此我也真正意识到,只有主动学习把兴趣投入进去才能学到真知识。

在别人眼中我是自律的人,但在我看来,我应该是目标比较明确,我的活动都是以目标为导向的,有时候不想做什么事一想起目标就有动力了,我非常庆幸我在大学四年中有清晰的目标。

未来仍有许多故事,我会继续在这条“马拉松”路上。

SOFA-Bolt通信模型介绍

刘启春

SOFA-bolt 是蚂蚁金服开源的一个分布式 RPC 框架,用于快速构建金融级云原生架构的中间件,也是在金融场景里锤炼出来的最佳实践。SOFA-bolt 有四种网络通讯模型:分别是 oneway、sync、future、callback,本文主要介绍这四通信模型。

通信模型

  • oneway:不关注结果,即客户端发起调用后不关注服务端返回的结果,适用于发起调用的一方不需要拿到请求的处理结果,或者说请求或处理结果可以丢失的场景;
  • sync:同步调用,调用线程会被阻塞,直到拿到响应结果或者超时,它是最常用的方式,适用于发起调用方需要同步等待响应的场景;
  • future:异步调用,调用线程不会被阻塞,通过 future 获取调用结果时才会被阻塞,适用于需要并发调用的场景,比如某个客户端调用多个服务端并等待所有结果返回后执行特定逻辑的场景;
  • callback:异步调用,调用线程不会被阻塞,调用结果在 callback 线程中被处理,适用于高并发要求的场景;

MQTT 协议是什么

刘启春

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 在 1999 年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

MQTT 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT 协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

资料

常用文献地址整理

刘启春

1、外文文献查找

2、国内文献查找

读书|《计算机网络:自顶向下方法》

刘启春

《计算机网络:自顶向下方法》是本经典的书,里面的“人物专访”给我留下深刻印象,这使原本枯燥的学习润色许多,通过读这些专访我对网络更加感兴趣了,也清晰的认识到这些学术牛人们的学习、思维方式。

Java 微基准测试工具 JMH

刘启春

JMH(Java Microbenchmark Harness)是一个进行基准测试的工具,由 OpenJDK 团队研发,JMH 可以一个方法为维度进行吞吐量、调用时间等测试,精度可以精确到微秒级,JMH 提供注解可以更加便捷的使用。

Java|ThreadLocal

刘启春

ThreadLocal 是线程本地变量,用与在线程上下文中共享变量。

ThreadLocal 经常用在框架中,例如 SpringSecurity 用它存储当前请求的操作用户。

  • ThreadLocal 既线程本地变量,可以使变量为线程私有,避免状态共享出现线程安全问题。
  • InheritableThreadLocal 继承 ThreadLocal 实现,可以使子线程共享父线程的 ThreadLocal。
  • FastThreadLocal 是 Netty 实现的一个 ThreadLocal,当从 FastThreadLocalThread 访问时,可以产生更高的访问性能,在 FastThreadLocal 内部使用数组中的索引来查找变量,而不是使用哈希码和哈希表。

读书|《程序员修炼之道》

刘启春

我了解到这本书是在一个偶然的机会,当时向一位大佬请教后端方面的问题,他在邮件回复中给我推荐了这本书,这确实是一本好书,目前我读了不止一遍。

请教的问题

这并非是一本技术书,它主要讲如何成为更好的开发者。书籍的内容构造很巧妙,在一个主题结束后,会有一些同类的“线索”,每每读到这里便会有豁然开朗的感觉;另外一点是书的内容很贴切,它确实是开发中经常遇到的面临的,作者结合多年经验以及诸多开发者的反馈,总结了最佳实践和最佳原则,读后让人受益匪浅。