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

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.

主站蜘蛛池模板: 永康市| 修水县| 遵义县| 淳化县| 丹棱县| 行唐县| 海晏县| 黄龙县| 彭山县| 沙湾县| 宁波市| 礼泉县| 张家口市| 宁南县| 攀枝花市| 清镇市| 宁远县| 开封县| 东乌| 集贤县| 乌什县| 囊谦县| 阜阳市| 彩票| 边坝县| 桓台县| 蒙城县| 临高县| 海淀区| 封开县| 黄山市| 浏阳市| 临沭县| 阳曲县| 汉阴县| 鄄城县| 桃园市| 灵山县| 高唐县| 新邵县| 雷州市|