官术网_书友最值得收藏!

Smaller projects

The second benefit is breaking the complexity of the project. When you add a feature to an application such as PDF reporting, even if you do it cleanly, you make the base code bigger, more complicated, and sometimes, slower. Building that feature in a separate application avoids this problem, and makes it easier to write it with whatever tools you want. You can refactor it often, shorten your release cycles, and stay on top of things. The growth of the application remains under your control.

Dealing with a smaller project also reduces risks when improving the application: if a team wants to try out the latest programming language or framework, they can iterate quickly on a prototype that implements the same microservice API, try it out, and decide whether or not to stick with it.

One real-life example in mind is the Firefox Sync storage microservice. There are currently some experiments to switch from the current Python + MySQL implementation to a Go-based one, which stores users' data in standalone SQLite databases. That prototype is highly experimental, but since we have isolated the storage feature in a microservice with a well-defined HTTP API, it's easy enough to give it a try with a small subset of the user base.

主站蜘蛛池模板: 东安县| 抚顺县| 阜新市| 景泰县| 喀喇沁旗| 灵璧县| 宁德市| 凤城市| 怀安县| 如皋市| 永定县| 乌鲁木齐市| 黄山市| 繁昌县| 长治县| 贞丰县| 昌都县| 温州市| 朝阳县| 拉孜县| 鲁甸县| 铜陵市| 宁强县| 阳西县| 沛县| 遂宁市| 股票| 潢川县| 奇台县| 诏安县| 丁青县| 迁西县| 平度市| 武冈市| 长子县| 康平县| 顺义区| 台中县| 邮箱| 沙田区| 亚东县|