architecture - 为简单的员工服务设计微服务架构
问题描述
在一次 MNC 面试中,我被要求为一个简单的员工服务设计一个架构。
假设我们每分钟收到 10 万个请求,我们需要将这些请求数据 [员工对象] 存储在数据库中。你将如何设计这个系统?
我的回复:
我将在客户端前面使用一个负载均衡器,然后请求将转到 API Gateway 实例之一进行身份验证。之后,请求将通过另一个负载均衡器转发到两个后端服务实例中的任何一个进行处理,然后我将在数据库之前使用缓存,并将每个员工对象存储在缓存而不是数据库中以优化性能。然后立即将数据存储在数据库中。
我想了解,我应该如何纠正这种方法?我知道这种方法存在多种差异。
我也想了解一下10万个请求是怎么处理的?除此之外,面试官还问到,在为这个微服务定义 docker 文件的时候,你将如何计算这个服务使用的大小?我想了解,如何找到这个尺寸?
解决方案
推荐阅读
- ios - 有人可以从 iOS 应用程序的 IPA 文件中访问我的源代码吗?
- gitlab - gitlab ci 试图连接回 git
- node.js - chalk.green.bold("Some Text") 和 chalk.bold.green("Some Text") 如何在 npm 包 chalk 的后台进行编码
- python-3.x - 字符串与文件内容比较期间的奇怪行为
- java - 尝试点击 url 时出现 Google Cloud Spring-Boot 404 错误
- sql - 加入三个 CTE - 我正在尝试在 3 个 CTE 之间加入( cte_1.InvoiceDate11=cte_2.InvoiceDate11=cte_3.EndDate11 )。你能帮我吗?
- jackson - 在 Jackson 中将具有 Double 值的字符串转换为 Long 数据类型
- docker - Docker 以守护程序模式退出
- vba - 如何设置VB Editor默认目录?
- python-3.x - 字典理解失败