spring-cloud-alibaba+docker搭建二:服务发现nacos+docker部署

上篇文章我选择确定了基础的版本,这篇文章将用docker 部署nacos 服务

nacos

一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
如果你使用过spring cloud 那么你就知道 nacos 的功能涵盖了 Spring Cloud Config、Spring Cloud Bus、Eureka ,而且还更好用。
在这里插入图片描述
这是官网的描述,总之很牛逼就对了。
地址:nacos官网
打开官网,因为我要使用docker 部署,所以再官网找相关示例
在这里插入图片描述

嗯文档还是比较全的,对新手很友好,像我这样的菜鸟都能看懂了。
打开官方给的示例项目地址,https://github.com/nacos-group/nacos-docker.git
在这里插入图片描述
在认真阅读了这个mysql5.7的示例后,我花了三秒钟写出了docker-compose文件(●ˇ∀ˇ●)
spring-cloud-alibaba-nacos.yml

version: "2"
services:
  nacos:
    image: nacos/nacos-server:latest
    container_name: nacos-standalone-mysql
    env_file:
      - ./env/nacos-standlone-mysql.env
    volumes:
    	# 日志目录
      - ./nacos/standalone-logs/:/home/nacos/logs
      - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
      - "8848:8848"
      - "9555:9555"
    depends_on:
      - mysql
    restart: on-failure
  mysql:
    container_name: mysql
    image: nacos/nacos-mysql:5.7
    env_file:
      - ./env/mysql.env
    volumes:
      - /dockerData/mysql/nacos-mysql5.7/data:/var/lib/mysql
    ports:
      - "3306:3306"

不是在说nacos 这里面怎么有个mysql ?因为nacos 自带的是个内存数据库,重启后配置就没了,所以为了持久化配置,这里需要一个mysql。需要注意的是env_file和volumes 的配置,我偷懒直接把示例项目里的文件整下来了,名字也懒得改,对我就是这么懒,只将mysql 数据库的挂载目录挂载到我本机的
/dockerData/mysql/nacos-mysql5.7/data 目录下,
唯一需要改的nacos-standlone-mysql.env文件

PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=192.168.101.129
MYSQL_SERVICE_DB_NAME=nacos_devtest
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=nacos
MYSQL_SERVICE_PASSWORD=nacos

MYSQL_SERVICE_HOST 需要修改成你的 ip
一切就绪,在linux 当前yml文件所在目录上执行命令
docker-compose -f spring-cloud-alibaba-nacos.yml up -d
如果没有错误,你访问http://你的nacos所在主机ip:8848/nacos/#/login
就能看到如下界面
在这里插入图片描述
默认的账号/密码 nacos/nacos

很抱歉,作为 AI 语言模型,我无法编写完整的可自动化构建的微服务框架。但是,我可以为您提供一些指导性的信息和建议。 首先,您需要了解每个技术组件的作用和用途: - Spring Cloud Alibaba:一个基于 Spring Cloud微服务框架,提供了诸如服务注册与发现、配置中心、消息总线、负载均衡、断路器、数据监控等功能。 - Dubbo:一个高性能 RPC 框架,支持多种协议和序列化方式,可用于构建分布式系统。 - Docker:一个容器化技术,可以将应用程序和其依赖项打包成一个可移植的容器,方便在不同环境中部署和运行。 - Jenkins:一个流行的持续集成和持续交付工具,支持自动化构建、测试、打包和部署。 - Redis:一个内存数据库,常用于缓存和消息队列。 - Nacos:一个服务发现和配置管理中心,支持服务注册、配置管理、动态 DNS 服务等。 - Gateway:Spring Cloud Gateway 是一个基于 Spring Framework 5,Spring Boot 2 和 Project Reactor 的 API 网关,它支持路由、过滤和负载均衡等功能。 - MyBatis Plus:一个基于 MyBatis 的 ORM 框架,提供了更加便利的 API 和增强功能,减少了开发者的重复工作。 - PostgreSQL:一个开源的关系型数据库管理系统,支持 ACID 事务、并发控制等功能。 在了解了每个技术组件的作用和用途后,您可以开始构建您的微服务框架。下面是一些建议: 1. 搭建基础环境 首先,您需要搭建好基础环境,包括 JDK、Maven、Git 等。您可以选择使用 IDE,如 IntelliJ IDEA 或 Eclipse,来方便地进行代码开发和调试。 2. 搭建服务注册与发现中心 您可以选择使用 Nacos搭建服务注册与发现中心。Nacos 支持服务注册、配置管理、动态 DNS 服务等功能,可以方便地管理您的微服务。 3. 搭建 RPC 框架 您可以选择使用 Dubbo 来搭建 RPC 框架。Dubbo 支持多种协议和序列化方式,可以方便地构建分布式系统。 4. 搭建 API 网关 您可以选择使用 Spring Cloud Gateway 来搭建 API 网关。Spring Cloud Gateway 是一个基于 Spring Framework 5,Spring Boot 2 和 Project Reactor 的 API 网关,它支持路由、过滤和负载均衡等功能。 5. 搭建数据访问层 您可以选择使用 MyBatis Plus 来搭建数据访问层。MyBatis Plus 是一个基于 MyBatis 的 ORM 框架,提供了更加便利的 API 和增强功能,减少了开发者的重复工作。 6. 搭建数据库 您可以选择使用 PostgreSQL 来搭建数据库。PostgreSQL 是一个开源的关系型数据库管理系统,支持 ACID 事务、并发控制等功能。 7. 搭建缓存和消息队列 您可以选择使用 Redis 来搭建缓存和消息队列。Redis 是一个内存数据库,常用于缓存和消息队列。 8. 容器化 最后,您可以选择使用 Docker 将您的应用程序和其依赖项打包成一个可移植的容器,方便在不同环境中部署和运行。您可以使用 Jenkins 来进行自动化构建、测试、打包和部署。 总之,构建一个完整的可自动化构建的微服务框架需要您深入了解每个技术组件的作用和用途,并且需要一定的技术能力和经验。您可以参考相关的文档和教程来进行学习和实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值