写点什么

SpringCloud Alibaba 微服务实战一基础环境准备

用户头像
AI乔治
关注
发布于: 2020 年 11 月 24 日
SpringCloud Alibaba微服务实战一基础环境准备

Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备。



该系列文章内容主要基于三个微服务:用户服务AccountService,订单服务OrderService,产品服务ProductService



用到的组件有:



  • 注册中心、配置中心 Nacos

  • 限流 Sentinel

  • 分布式事务 Seata

  • 网关 SpringCloud Gateway

  • 认证授权 Spring Cloud Oauth2

  • docker、docker-compose



由于用到的组件相对较多,部署会很繁琐,最关键的是没有资源服务器,所以在开发过程中我会逐渐将一些组件使用docker-compose部署。



本篇内容就是使用Dokcer-compose部署Nacos,Sentinel,Mysql,作为后面的系列文章的基础环境。



如果你对docker或者docker-compose不是很熟悉的话,你可以翻看我之前的两篇文章,看完后相信你能很快入手。



容器化

mysql



由于nacos需要依赖于Mysql作为资源存储,所以在编写完整docker-compose之前我会先用docker启动临时的mysql容器,然后准备好nacos需要的数据库。



启动临时容器

docker run -p3306:3306 --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -v /app/cloud/mysql/data:/var/lib/mysql mysql:5.7

此处需要挂载宿主机目录,在启动docker-compse后就不需要再次初识化数据。

用mysql客户端连接你的容器,然后导入nacos的数据表

https://github.com/alibaba/nacos/tree/develop/distribution/conf/ nacos-mysql.sql



停止容器,由于加了--rm参数,所以容器会自动删除

docker stop 3475ef078d3a

nacos



我们来看看NACOS的环境变量,如下表所示:



Nacos支持主从配置,考虑到资源问题,我们只配置一台单独的mysql服务器,有资源的同学可以搭建主从环境。

sentinel

sentinel比较简单,直接配置sentinel-dashboard镜像即可。

(在系列的开始不需要引入sentinel组件,为了后面不再单独介绍,本次我也把他加到我的docker-compose中)

seata

seata由于一些原因,还没发布官方镜像,暂时搁浅。

docker-compose

以下是我编写的docker-compse文件,大家可以自行修改



version: "3"
services:
mysql:
container_name: mysql
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- /app/cloud/mysql/data:/var/lib/mysql
ports:
- "3306:3306"
restart: always

nacos:
image: nacos/nacos-server:1.1.4
container_name: nacos
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
- MYSQL_DATABASE_NUM=1
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_MASTER_SERVICE_HOST=mysql
- MYSQL_MASTER_SERVICE_DB_NAME=nacos_config
- MYSQL_MASTER_SERVICE_PORT=3306
- MYSQL_MASTER_SERVICE_USER=root
- MYSQL_MASTER_SERVICE_PASSWORD=123456
volumes:
- /app/cloud/nacos/logs:/home/nacos/logs
ports:
- "8848:8848"
depends_on:
- mysql
restart: always


sentinel:
image: bladex/sentinel-dashboard:latest
container_name: sentinel
ports:
- "8858:8858"
restart: always




将其上传至你的服务器,执行docker-compose up -d命令启动

环境验证

nacos

访问nacoshttp://192.168.136.129:8848/nacos,使用账号密码nacos/nacos登录,添加一个name=JAVA日知录的配置。



nacos安装成功!

mysql



使用客户端工具连接上mysql服务,查看his_config_info表,确认是否有刚刚的配置



mysql安装成功!

sentinel

访问http://192.168.136.129:8858使用账号sentinel/sentinel登录



sentinel安装成功!



至此前期所需要的组件都安装成功,那么本期的“SpringCloud Alibaba微服务实战 - 基础环境准备”篇也就该结束啦,咱们下期有缘再见!


看完三件事❤️

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:



  1. 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

  2. 关注公众号 『 java烂猪皮 』,不定期分享原创知识。

  3. 同时可以期待后续文章ing🚀



作者:jianzh5

地址:http://javadaily.cn/articles/2019/11/29/1575026789380.html



用户头像

AI乔治

关注

分享后端技术干货。公众号【 Java烂猪皮】 2019.06.30 加入

一名默默无闻的扫地僧!

评论

发布
暂无评论
SpringCloud Alibaba微服务实战一基础环境准备