无
作者回复: 单块优先,解决业务问题优先
作者回复: 随着企业业务和团队规模的扩展,会出现需要多套网关部署的场景,例如针对无线应用的无线网关,针对H5应用的H5网关,针对第三方开放平台的开放API网关,针对合作联盟商的联盟商API网关,当然如果企业内部部门和服务多了,也会出现内部API网关。 这些网关的职能大体类似,但是针对的业务场景不同,一些具体的功能和配置会有不同,有时还需要不同团队进行管理运维,这是分网关部署的一个主要原因,是一种按业务场景分开治理的策略。 当然,如果企业业务和团队规模小,则可能一套网关就可以搞定,规模大了业务场景复杂了自然会分治。
作者回复: 原则:上层可调下层,同层也可相互调用,但禁止下层调用上层
作者回复: 可以设计开发成微服务,这样职责更单一结构更清晰,多人并行开发效率高。但要不要这样做还需综合考虑,微服务也引入复杂性,需基础设施支撑,投入大。主要考量因素是业务和团队规模,系统耦合度是否影响到多团队并行开发效率。如果业务不复杂人也少,单块能搞定最好,没必要为了微服务而微服务。
作者回复: 要看你的业务复杂性和团队规模,规模越大服务会分得越细,否则会有效率问题。如果规模小,建议做好基本的模块化就好了。
作者回复: 认证中心(或者说用户中心)是给对外的用户进行注册/登录/认证/授权用的。 IAM也是一种认证中心,给企业内部的员工/应用用的。两者本质类似,只是面向用户群不同。 后台服务简单讲无非两种,一种是企业的核心业务领域服务(商品,订单,支付等等),另外一种是技术支撑服务(配置中心,消息队列,注册中心,网关服务,CI/CD发布服务,监控服务等等)。
作者回复: 随着微服务技术栈的成熟和普及(springcloud/docker/k8s等),如今小团队也可以玩转微服务。
作者回复: 谢谢夸赞!
作者回复: 具体看你企业的规模,小规模1~2套网关就可以了,中大规模一般分场景部署多套网关 。例如携程网(ctrip)规模较大,2015年我在携程工作的时候,它们大致有6~7套面向不同场景的网关(配置也会有差别),目前应该远不止这么多套了。