初创型公司软件孵化(三)

229 阅读2分钟

“这是我参与更文挑战的第3天,活动详情查看: 更文挑战

架构设计

网络架构

大体上可以分为2个维度去设计

  • 一类是根据项目的进行拆分后,独立成多个服务,再同类的服务分为一组,每组对应一个域名。每个团队负责其域名下的多个服务。优点:降低团队直接的耦合度,完全独立,访问权限更细,容错性相对较好。通讯方式采用统一openapi进行对接。缺点:增大的不同域名间的对接难度和工作量,而且还要注意单点登录的共享问题。

image.png

  • 一类是一个域名进入统一网关,通过后缀统一分发。优点:便于开发,大大减低了开发运维的工作量,适用于快速迭代交付的产品。缺点:通过后缀区分,标志性相对弱一点。故障后会导致所有服务都不可访问,容错性相对较弱。当然这里可能有人会说,可以避免单点故障,部署多个节点不就好了吗?不错这样是没有问题的。如果我说假设多个节点都挂了呢,比如负载均衡层/注册中心层全挂了,那么所有的应用都挂了。

image.png

总结:那么什么时候用哪一种呢?笔者认为得根据实际的需求、公司的现状、当前的技术储备进行设计。大部分情况下建议初创型公司还是选择后者,前者对高可用有很高的要求,服务器也有一定的要求,部署一个生产环境估计要十几台以上的服务器(普通的服务器配置)。而且对初创型团队来说存在一定的风险