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

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.

主站蜘蛛池模板: 文水县| 康定县| 耿马| 任丘市| 吐鲁番市| 健康| 揭阳市| 黄浦区| 沙河市| 新兴县| 剑川县| 巴林右旗| 宣武区| 泗洪县| 汤阴县| 天柱县| 钟山县| 韶山市| 城口县| 巴楚县| 漾濞| 河北区| 万全县| 化隆| 星子县| 秦皇岛市| 绩溪县| 南靖县| 滁州市| 樟树市| 克东县| 句容市| 卓资县| 漳平市| 贞丰县| 新化县| 辽阳县| 抚宁县| 钟祥市| 当雄县| 阜新|