[ 翻译 ] 微服务不是终点站

所谓微服务指的是一些由API驱动的小型应用程序,它们在追求一个共同目标的前提下负责把一件事情做好。 该定义总结了微服务当下最流行的常见说法。再者,如果处理得当的话,微服务真的可以做到它们想要做到的所有美好的事情。从架构和程序的角度来说,相比于更加单体化的方案而言,微服务在应用开发方面拥有许多有意义的优势。看看那些像Amazon和Netflix这样成功的企业,发现自己有这样的想法也就很合情合理了,"微服务!一定是它!" 不过,我并不是很喜欢这个松散的定义,因为它完全忽略了构建微服务背后的一个关键动机:让团队能够更快地交付功能到生产环境,并且摩擦变得更少。微服务只有在正确的软件文化到位时才能发挥最大效果。一个关注微服务的组织也应该像重视开发和运维生产力那样接受并实现一些文化方面的重大转变。 从整…

Read More

[ 翻译 ] 一个更好的可视化微服务架构的方式

我一直在用draw.io做一些和UML流程图,图表或者曲线图相关的事情。它在丰富的功能和用户的手工控制方面做出了合理的权衡。 但是,接下来我会告诉你如何自动化一些无聊的鼠标点击;) 避免从一开始就犯错 Daniel Woods的 “Microservices: The Right Way” 演讲里其中一张幻灯片 如果它不是这样的话事情也不会变得这么有趣。事实上,这里最好能有一张更清晰地展现组件之间关系和职责的图片。不然的话最终结果就是像上面看到的这样 ;) 诀窍便是在做的时候不断审视它哪个地方不对,这样一来便不太可能做的这么糟了。 在做图的时候 —— 你也在同时给自己一个感官,它们将会怎么交互,问题域是什么,上下文,边界,等等。 "光纸上谈兵是没用的,长期的战略规划才是无价的。" ―…

Read More