账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    微服务项目结构、规划咨询
    35
    0
    问各位大佬几个问题。谢谢!1、前台用户(比如会员、卖家、供应商、骑手等)和管理后台用户是完全分开用户表,还是共用一张基础账号表比较好呢?2、前台和后台是共用一个网关还是分开网关好呢?3、如果用oauth2的话是用一套(前后台不同的client id)还是分开认证?4、如果分开认证,一个网关里面写两套oauth2认证会不会有影响?5、目前打算用spring cloud alibaba+vue前后端分离,oauth2登录界面直接在后台写,还是在vue项目里面直接调用auth的登录接口好呢?5、使用oauth2的话,网关是当做客户端还是资源服务器呢?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 微服务项目结构与规划是一个复杂且关键的过程,涉及到服务的拆分、服务间通信、数据管理、部署运维等多个方面。以下是一些基本的指导原则和步骤:

      1. 服务拆分:首先根据业务领域进行服务划分,每个微服务专注于一个特定的业务功能或子领域,保持高内聚低耦合。例如,订单服务、用户服务、商品服务等。

      2. 业务边界明确:确保每个微服务都有清晰的业务边界,避免跨服务的事务处理。

      3. 独立部署:每个微服务应能独立编译、测试和部署,不影响其他服务。

      4. 服务接口设计:采用RESTful API或者gRPC等方式定义服务间的交互接口,保证服务间的松耦合。

      5. 数据管理:每个微服务通常拥有自己的数据库实例以保证数据一致性,避免分布式事务问题。可以考虑使用事件驱动架构来解决跨服务的数据同步问题。

      6. 服务注册与发现:利用如Eureka、Zookeeper等服务治理框架实现服务的注册与发现,方便服务间的调用。

      7. 配置中心:通过配置中心统一管理所有服务的配置信息,例如Spring Cloud Config。

      8. 熔断降级与负载均衡:引入Hystrix、Resilience4j等工具进行熔断降级处理,使用 Ribbon 或者 LoadBalancer 进行负载均衡。

      9. 监控与日志:建立完善的监控体系(如Prometheus+Grafana),并统一收集和分析日志(如ELK Stack)。

      10. 持续集成/持续部署(CI/CD):采用Jenkins、GitLab CI/CD或其他CI/CD工具进行自动化构建、测试和部署。

      11. 容器化与云原生:将微服务部署在Docker容器中,并利用Kubernetes进行集群管理和调度,充分利用云平台资源。

      在实际规划过程中,还需要结合团队的技术栈、业务需求以及公司现有的IT基础设施等因素进行综合考量和权衡。同时,随着项目的推进,也要不断优化和完善微服务架构,使之更好地适应业务的发展变化。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部