蓝盟小贴士,来喽!
每个企业都需要逻辑,如身份验证,限流和权限验证。如果每个企业都在为自己而战,那么制造自己的车轮将会非常痛苦。它可以被移除并放置在统一的地方。
如果营业额相对简单,这种方法在初始阶段就没有问题,但随着业务变得越来越复杂,如淘宝和亚马逊打开一个页面,它可能涉及数百个微服务一起工作,如果每个微服务如果您分配域名,一方面,客户端代码将难以维护,涉及数百个域名,另一方面,连接号码的瓶颈。想象一下,打开一个应用程序并通过数据包捕获发现数百个远程调用。这在移动端非常低效。
线路上的每个新服务都需要操作和维护才能参与,请求域名,配置Nginx等。对于在线和离线服务器,您还需要操作和维护才能参与。此外,使用域名,这对环境不友好。呼叫者必须根据域名自行判断。
还有一个问题:后端的每个微服务都可以用不同的语言编写,并采用不同的协议,如HTTP,Dubbo,GRPC等,但它不能要求客户端适应这么多的协议。这是一项非常具有挑战性的工作,项目可能非常复杂且难以维护。
如果您需要在稍后阶段重构微服务,那将是非常有问题的。您需要客户与您合作进行转型,例如商品服务。随着业务变得越来越复杂,以后必须将其划分为多个微观。服务,这个时候外部服务也必须分成多个,而客户需要配合你来改造它,这是非常痛苦的。