微服务跟容器本身没关系,但是它两结合起来就牛掰了。完成云计算本身的特性:按需分配,弹性伸缩。一般情况下,设计思路是前后端分离,通过api gateway聚合分发路由,服务注册与发现可以用eureka、consul、nacos等,推荐用后面两还可以做配置中心,不用再另外再起config server。认证中心采用oauth2或者oss。
收起题主的问题问的很大,如果公司和项目的体量不是很大的话,只需要将微服务和docker进行结合比较容易达到题主需要的结果。
在小的项目中,微服务的效果相对而言聚焦,比如说OA的微服务改造比传统的应用程序更有效地利用计算资源。这是因为它们通过扩展组件来处理功能瓶颈问题,好处有下列:一种软件架构模式;复杂应用解耦为小而众的服务;各服务精而专;服务间通信通过API完成;更快且更容易更新。
聚焦这些点,可以和docker更加容易的结合,Docker 作为容器工具可以把:业务逻辑容器、数据库容器、储存容器、队列容器使得软件可以拆分成若干个标准化容器,然后像搭积木一样组合起来,让彼此通信,从而形成微服务。因此题主需要的oa微服务很适合用 Docker 容器实现,每个容器承载一个服务。一台计算机同时运行多个容器,从而就能很轻松地模拟出复杂的微服务架构。