ARTS挑战打卡第十八周
Algorithm-一周至少一道算法题
Review-阅读并点评至少一篇英文技术文章
Tip-学习至少一个技术技巧,总结和归纳在日常工作中所遇到的知识点
Share-分享一篇有观点和思考的技术文章
01-Algorthm
———————
https://leetcode.com/problems/cousins-in-binary-tree
题目是判断两个值所在的节点是否为“表亲”节点--高度一样,父节点不一样
思路:使用两个Map,一个保存节点值的高度,另一个保存节点值的父节点,先序遍历树,保存每个节点的高度和父节点,最后判断给定值所在节点的高度相等以及父节点不相等,则代表是“表亲”节点。
02-Review
——————
https://www.nginx.com/blog/building-microservices-inter-process-communication/
文章介绍了微服务中服务之间通信需要用到的技术,微服务中,每个服务之间有可能需要通信,如何设计服务间通信的功能,需要考虑多个问题,比如:
1、服务间的交互或依赖是如何的
2、如何处理调用时的错误(考虑熔断和降级)
3、如何设计接口(接口的定义、数据格式)
服务间的通信有同步/异步,同步就是直接使用RPC调用,异步可以考虑使用消息队列技术。
03-Tip
——————
1、统一处理错误,Http接口可以通过ExceptionHandler注解实现,对于Thrift类型的接口,也可以实现,通过实现MethodInterceptor接口,对nvocation.proceed()方法进行try...catch,在catch部分进行异常处理。
2、使用redis的geo可以实现附近的人功能
04-Share
—————
分享一个思维转变方法:《你需要开始做点什么,否则你会一直忙一直忙》
推荐阅读: