Skip to content

naxienianHaiF/microservice

Repository files navigation

项目介绍

项目主要是用来学习spring cloud和分布式事务的消息驱动和事件溯源模型。包含config server、eureke server。 主要用到的技术有spring cloud、eureka、gateway、mysql、MongoDB、redis、kafka、 docker。

1.项目架构

1.1.common

项目定义了公共返回值,数据库mysql和MongoDB实体类等等

1.2.configserver

config server 统一配置中心

1.3.user

user服务。用户服务,主要使用了mybatis。在配置上,Mapper支持xml和JavaBean。

  • JavaBean动态sql,既可以通过**<script>**标签 来拼写动态SQL,也可以通过provider来写,主要是使用@SelectProvider、@UpdateProvider等来实现,type为provider类,method为方法。 ??Provider既可以使用StringBuffer等形式去拼接,也可以使用SQL这个类来拼接,
  • logback logback大致使用教程参考这个blog
  • Hystric 断路器 @HystrixCommand注解fallbackMethod的方法参数要和注解下面的参数类型保持一致

2 Spring cloud

2.1 eureka server

eurekaserver启动类上添加@EnableEurekaServer注解,项目依赖如下

spring-cloud-starter-netflix-eureka-server
  • DockerFile使用

2.2 openfeign

openfeign CSDN博客
openfeign官方文档

2.3 gateway

gateway学习是参考官方文档的,比较通俗易懂。和eureka整合,主要是设置

spring.cloud.gateway.discovery.locator = true

2.4 servlet

servlet有两种实现方式,implements Servelt和extends HTTPServlet。每一次request都会调用

public void service(ServletRequest servletRequest, ServletResponse servletResponse)

方法,HTTPServlet的service方法使用了 模板模式。

Servlet 详细介绍参考Servlet微服务

MongoDB

websocket项目主要是使用的MongoDB,同时使用了learn和msg两个database。 -[ ] MongoDB -[ ] websocket配置

个人信息