这是我学习《微服务从小白到专家》的学习笔记。官方代码地址:https://github.com/banxian-yao/broadview-coupon-center

第三章

第三章直接使用官方代码,所有的依赖服务:mysql, redis, kafka, rabbitmq,自己都使用Docker进行安装,使用docker-compose进行管理,docker-compose.yml内容如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
version: "3.9"

services:
  mysql80:
    container_name: mysql80
    image: mysql
    ports:
      - "3306:3306"
    volumes:
      - "./data/mysql:/var/lib/mysql"
    environment:
      - MYSQL_ROOT_PASSWORD=password

  zookeeper:
    container_name: zookeeper
    image: zookeeper
    ports:
      - "2181:2181"

  kafka:
    container_name: kafka
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      - KAFKA_ADVERTISED_HOST_NAME=192.168.0.106
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181

  rabbitmq:
    container_name: rabbitmq
    image: rabbitmq:management
    ports:
      - "5672:5672"
      - "15672:15672"
    environment:
      - RABBITMQ_DEFAULT_USER=guest
      - RABBITMQ_DEFAULT_PASS=guest

  redis:
    container_name: redis
    image: redis
    ports:
      - "6379:6379"

docker-compose.yml配置的时候需要注意的几点:

  1. 升级spring boot到2.5.6版本
  2. 里面有commons-collections4commons-lang3依赖的地方的版本特别注意,在最顶层的pom.xml里面重复写了两个,需要删掉一个。每个module下面也写了版本号,需要把版本号去掉
  3. KAFKA_ADVERTISED_HOST_NAME 改成自己物理机的IP地址
  4. RABBITMQ_DEFAULT_USER 和 RABBITMQ_DEFAULT_PASS 都是guest,而且rabbitmq启动之后必须在admin ui里面手动创建broadview.queue这个queue