小A阅读后端架构升级记(三. 字典/翻译微服务)

2022-12-21  本文已影响0人  小A阅读

前两期我讲述了使用golangAPI后端重建小A阅读API,途中遇到一个问题,由于之前全部代码都是ASP.NET+C#写的,而字典和翻译的API代码非常复杂,我又不太喜欢golang处理错误的方式(每个函数都需要返回一个可空的错误值)。再三考虑后决定使用ASP.NET Core写一个字典/翻译的微服务,重复使用大部分旧的代码。

微服务(microservices)的架构有很多种,我只使用最简单的一种

1. Golang API是客户端的唯一入口,充当了API Gateway的作用

2. 当客户端访问字典/翻译时,Golang API会先验证用户信息,然后用内网转给ASP.NET Core的字典/翻译服务,然后再返回给客户端。两个微服务使用一个数据库,不存在数据同步的问题

3. ASP.NET Core字典/翻译服务外网不可访问

4. 后期会给Golang API加上防火墙WAF

5. 后期还会有其他微服务比如基于Spacy的Python/Flask微服务

上一篇下一篇

猜你喜欢

热点阅读