『高级篇』docker之微服务业务分析(九)

从本节开始微服务的开发,说到开发有几个问题需要解决,首先要知道我们需要开发什么?什么样的业务场景,分析业务场景,有几个微服务,每个微服务需要完成什么样的功能,微服务之间的关系,之间的依赖关系,他们之间是如何通迅的,这些都了解的之后,我们就可以进入开发阶段了。

业务场景

  • 用户可以注册和登录

现在的登录系统一般都是单点登录,支持跨域,在去使用其他系统的时候就不需要登录了,最好是不要使用session,最好是无状态的,避免使用session。

  • 登录用户可以对课程进行CURD操作

上边这个不是大而全的系统,只是微服务的功能,老铁咱们的目的很明确是搞微服务,不是学web开发的,我们通过上边的几个功能上从0开始了解微服务,一行不拉的完成开发微服务,让大家去开发有个真切的体会的。

基本的微服务的流程

  1. 用户访问api网关
  2. api网关访问2个用户的edgeservice(java) 和 课程的edgeservice(java)
  3. 这2个接口提供的http协议(rest)
  4. 用户的edgeservice 访问的用户服务
  5. 课程的edgeservice 访问的课程服务
  6. 用户服务对外接口是Thrift 跨语言的协议
  7. 课程服务对外接口使用Dubbo,只限java
  8. 用户服务(java) 后端有个数据库
  9. 课程服务(java) 后端也有一个数据库
  10. 信息服务(python)对外接口是Thrift (用户注册的时候,可能发送短信,或者邮件确认可能需要信息服务)
  11. redis 来进行用户的信息存储,提供给用户服务使用
  12. 课程的edgeservice 和 课程服务 通过 zookeeper 来完成服务的发现
  13. 用户查询课程 需要调用课程服务,这也就是微服务之间的调用

未分类