从零开始实现基于go-zero框架的微服务电商项目(一)——背景介绍及环境搭建

从零开始实现基于go-zero框架的微服务电商项目(一)——背景介绍及环境搭建

项目地址liuxianloveqiqi/XianShop: 使用go-zero搭建的电商项目 (github.com)

项目背景

基于最近楼主开始学习go-zero,官方给的文档也看的差不多了,由于没有写过微服务的项目,这次正好写一个微服务项目练练手,为什么选择电商项目呢?因为这一项目资源广泛,而且有官方的参考项目。本项目就是参考:microShop: 基于go-zero的微服务商城 (gitee.com)

go-zero实战:让微服务Go起来 - Ving的专栏 - 掘金 (juejin.cn)

基础要求

  • go-zero的了解,详情请参考官方文档:go-zero

  • docker的使用

  • Gprc,go-zero的插件

环境搭建

新建docker-compose.yaml文件,先就这些后续有要求可以加入。

version: '3'

services:
  mysql:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: 自己设置
      MYSQL_DATABASE: 你的库
    volumes:
      - ./mysql-data:/var/lib/mysql
    ports:
      - "3306:3306"
  redis:
    image: redis
    ports:
      - "6379:6379"
    volumes:
      - ./redis-data:/data
    command: redis-server --appendonly yes
  etcd:
    image: quay.io/coreos/etcd:latest
    command: etcd --listen-client-urls=http://0.0.0.0:2379 --advertise-client-urls=http://0.0.0.0:2379
    ports:
      - "2379:2379"
  minio:
    image: minio/minio
    container_name: minio_1
    environment:
      MINIO_ROOT_USER: 自己设置
      MINIO_ROOT_PASSWORD: 自己设置
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - /Users/liuxian/minio/data
      - /Users/liuxian/minio/config
    command: server --console-address ':9001' /data  #指定容器中的目录 /data
    privileged: true
    restart: always

  nsqlookupd:
    image: nsqio/nsq
    command: /nsqlookupd
    ports:
      - "4160:4160" # tcp
      - "4161:4161" # http

  nsqd:
    image: nsqio/nsq
    # 广播地址不填的话默认就是oshostname(或虚拟机名称),那样 lookupd 会连接不上,所以直接写IP
    command: /nsqd --broadcast-address=10.236.92.208 --lookupd-tcp-address=nsqlookupd:4160
    depends_on:
      - nsqlookupd
    ports:
      - "4150:4150" # tcp
      - "4151:4151" # http

  nsqadmin:
    image: nsqio/nsq
    command: /nsqadmin --lookupd-http-address=nsqlookupd:4161
    depends_on:
      - nsqlookupd
    ports:
      - "4171:4171" # http
  zookeeper:
    image: confluentinc/cp-zookeeper:6.2.0
    container_name: zookeeper
    ports:
      - "2181:2181"

  kafka:
    image: confluentinc/cp-kafka:6.2.0
    container_name: kafka
    ports:
      - "9092:9092"
    depends_on:
      - zookeeper
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

然后终端输入$ docker-compose up -d 启动。

项目框架

在这里插入图片描述

先copy一个图,大概就是六大服务,下一章我们将开始完成User服务

感谢

如果你觉得我的文章对你有帮忙,欢迎点赞,关注,star!有问题可以在评论区直接提出来,感谢大家的阅读!🥰🥰🥰🥰🥰🥰

参考

(94条消息) go-zero 成长之路—微服务电商实战系列(一、需求篇)_go-zero官方文档_码一行的博客-CSDN博客

go-zero

go-zero实战:让微服务Go起来——1 项目介绍

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值