1

微服务就是把每个数据交换不是非常频繁,并发有较大区别的服务都做成 API 放进不同容...

 2 years ago
source link: https://www.v2ex.com/t/839072
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

微服务就是把每个数据交换不是非常频繁,并发有较大区别的服务都做成 API 放进不同容器吗?想把一个 ASP.NET Core 写的网站改造成微服务,这个方案 V 友有什么意见吗?

  theklf4 · 5 小时 16 分钟前 via iPhone · 476 次点击

一个社区网站,并发不算很多也不算很少,目前数据库和前后端都在一台某大厂 2 核 8g 运存的 VPS 上,日常负载 30%~ 75%,我想把它分成以下几个容器:

  1. Backend 提供用于客户端和 Web 容器获取帖子 /发帖等的 API ,和 Admin 容器共用数据库
  2. Web 网页版模版渲染,当网页版被请求时由服务器去调 Backend 容器的 API 获取帖子渲染成静态 HTML 后返回,无数据库
  3. Cron 处理定时发通知等计划任务,提供用于 Admin 容器编辑计划任务的 API ,独立数据库
  4. Admin 提供管理相关 API ,和 Backend 容器共用数据库

最后再来一个 Nginx 反代和分发静态资源 /后台的前端页面(非服务器渲染) 想问问:

  1. 有容器建议合并吗?
  2. 用户登录有没必要单独再分个 Auth 容器出来?
  3. 如果部署在同一台服务器上,容器间通信有没有必要上 HTTPS ?如果部署在不同服务器用云厂商内网呢?

或者有没有更好的方案?如果这不算微服务,应该怎么把它改造成微服务?

5 条回复    2022-03-09 14:49:34 +08:00

kkjinping

kkjinping      2 小时 47 分钟前

微服务一般还要有与之匹配的服务治理:服务注册、发现、负载均衡、限流熔断、消息组件、网关、配置中心、调度中心等。

把一些服务分到多个容器,其实只是做了服务的拆分。但一般个人的小站,没必要上微服务的整套体系。

kkjinping

kkjinping      2 小时 46 分钟前

微服务的目的还是为了各个服务自治、更好的扩容、提供硬件利用率。但是维护难度很高。

Chad0000

Chad0000      2 小时 30 分钟前

楼主研究一下 Dapr ,基本上它都帮你封装好了。

seakingii

seakingii      1 小时 50 分钟前

自己还摸不着头脑的时候先别上吧,别自找麻烦

ch2

ch2      1 小时 37 分钟前 via iPhone

一台 2 核 8G 就别折腾了吧,微服务是每个服务都有好几台机器运行多个容器以多占用计算资源为代价换来灵活性。你一没有计算资源,二估计也没有人力资源,完全得不偿失

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK