摘要:
简介 《恰如其分的软件架构》 一书 其实读起来感觉有点学术性质,换句话说,有点晦涩难懂。不知道是不是翻译的问题还是我水平有限。 书里提倡的按风险驱动的架构设计,还是值得借鉴的设计方法。我的理解就是“问题驱动法”。 比如说目前业务有哪些难点,有哪些问题需要解决,用笔一一罗列出来,然后按照罗列的问题, 阅读全文
摘要:
一、为什么要使用Deadlines 当我们使用gRPC时,gRPC库关系的是连接,序列化,反序列化和超时执行。Deadlines 允许gRPC客户端设置自己等待多长时间来完成rpc操作,直到出现这个错误 DEADLINE_EXCEEDED。但是在正常情况下,这个DEADLINE_EXCEEDED默认 阅读全文
摘要:
代码主要来源于grpc的官方examples代码: route_guide https://github.com/grpc/grpc-go/tree/master/examples/route_guide 服务定义 RouteGuide service RouteGuide { // A simpl 阅读全文
摘要:
一、一体三面 一体:一个目标。做出有价值的产品。 三面:技术、产品、业务。 业务、产品、技术是做出有价值产品这个一体目标的三个不同方面。所以我们都有着一个共同的目标:做出有价值的产品。我们并不是对立的,我们是有着共同目标。 打一个不是很恰当的比喻,就像一个人,脑袋,身体,手,脚,一起结合后,相互配合 阅读全文
摘要:
一、每日工作清单+番茄时钟 清单列表 + 四象限法 + 番茄时钟 清单列表:列出今天要做的所有事情,可以用一些 todo list 软件。标示出事情的优先级。 四象限法:按照事情轻重缓急,重要紧急程度分为4个象限,把列表清单上的工作内容分别归类到这4个象限中, 重要紧急 重要不紧急 不重要但紧急 不 阅读全文
摘要:
一、疑惑开篇 有了map为什么还要搞个sync.map 呢?它们之间有什么区别? 答:重要的一点是,map并发不是安全的。 在Go 1.6之前, 内置的map类型是部分goroutine安全的,并发的读没有问题,并发的写可能有问题。自go 1.6之后, 并发地读写map会报错,这在一些知名的开源库中 阅读全文
摘要:
一、什么是结构化思维 先看看 结构化思维 这几个字,拆解一下这个词语: 结构:把整体拆解开来,分为各个部分,这各个部分就是每个结构。 比如把人体拆解开来,可以分为头部、身体、手、脚、躯干等部分,这些部分的组合就形成了一个人,变成了一个整体。 结构化思维,我的理解就是把整体拆解开,分成部分,然后对这些 阅读全文
摘要:
微服务架构学习系列文章: 微服务架构学习与思考(01):什么是微服务?微服务的优势和劣势 微服务架构学习与思考(02):微服务实施的前提条件?有哪些问题需要思考? 微服务架构学习与思考(03):微服务总体架构图解 微服务架构学习与思考(04):微服务技术体系 微服务架构学习与思考(05):微服务架构 阅读全文
摘要:
微服务架构学习系列文章: 微服务架构学习与思考(01):什么是微服务?微服务的优势和劣势 微服务架构学习与思考(02):微服务实施的前提条件?有哪些问题需要思考? 微服务架构学习与思考(03):微服务总体架构图解 微服务架构学习与思考(04):微服务技术体系 微服务架构学习与思考(05):微服务架构 阅读全文
摘要:
微服务架构学习系列文章: 微服务架构学习与思考(01):什么是微服务?微服务的优势和劣势 微服务架构学习与思考(02):微服务实施的前提条件?有哪些问题需要思考? 微服务架构学习与思考(03):微服务总体架构图解 微服务架构学习与思考(04):微服务技术体系 微服务架构学习与思考(05):微服务架构 阅读全文