/microservice

micro service and java learn

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

项目介绍

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

1.项目架构

  • common 公共类,主要包含实体类和util
  • configserver config server
  • eurekaserver eureka server
  • user service user
  • gateway gateway网关
  • distributed try => commit => cancel

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

MongoDB

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

个人信息