小滴课堂-学习笔记:(19)【高级篇】AlibabaCloud微服务阿里云ECS容器化部署

56 篇文章 0 订阅
33 篇文章 0 订阅

logo 愿景:"让编程不再难学,让技术与生活更加有趣"


更多架构课程请访问 xdclass.net

目录

第1集 配置文件Bug修复-网关重新打包推送

第2集 网关配置迁移阿里云Nacos配置中心和服务启动

第3集 视频和订单服务迁移阿里云Nacos配置中心和镜像打包

第4集 阿里云ECS服务器快速安装Mysql数据库

第5集 AlibabaCloud视频和订单服务阿里云启动

第6集 微服务阿里云部署全链路验证和线上测试

干货文档


 

第1集 配置文件Bug修复-网关重新打包推送

简介:脚本bug修复和服务重新打包推送

  • 缺少主文件,本地验证 进入target目录 java -jar xxx.jar 执行



no main manifest attribute, in /app.jar
​
xxx.jar中没有主清单属性
  • 注意事项

    • 重新打包,在聚合工程目录下执行, 不然可能出现类找不到
    
    
    
    mvn clean
    mvn install

     

  • 本地退出远程私有镜像仓库




docker logout
  • 重新打包推送到私有镜像仓库(如打包超时,可以多试试几次)



          <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <fork>true</fork>
                    <addResources>true</addResources>
                </configuration>
            </plugin>
  • 注册中心的ip 改为阿里云局域网ip
  • 上述步骤同步更新到网关服务、视频服务、订单服务
  • 机器配置, 部署在低配服务器



120.24.216.117(公)
172.18.123.230(私有)
2 vCPU 1 GiB (安装了Mysql/Zipkin服务)
​
​
112.74.55.160(公)
172.18.123.229(私有)
2 vCPU 4 GiB(安装了Nacos、Sentinel、网关、视频服务、订单服务)
  • 网关打包推送



docker tag 046756142a54 registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-gateway:v2.0
​
docker push registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-gateway:v2.0

 

第2集 网关配置迁移阿里云Nacos配置中心和服务启动

简介:网关配置迁移和服务启动

  • 阿里云Nacos新建配置 dataId = api-gateway-dev.yaml



server:
  port: 8888
​
spring:
  application:
    name: api-gateway
  zipkin:
    base-url: http://172.18.123.230:9411/ #zipkin地址
    discovery-client-enabled: false  #不用开启服务发现
  sleuth:
    sampler:
      probability: 1.0 #采样百分比
  cloud:
    nacos:
      discovery:
        server-addr: 172.18.123.229:8848
​
    gateway:
      routes: #数组形式
        - id: order-service  #路由唯一标识
          #uri: http://127.0.0.1:8000  #想要转发到的地址
​
          uri: lb://xdclass-order-service  #从nocas进行转发
​
          order: 1 #优先级,数字越小优先级越高
          predicates: #断言 配置哪个路径才转发
            - Path=/order-server/**
            #- Before=2020-09-11T01:01:01.000+08:00  # 在这个时间点之后不能访问
            #- Query=source  #一定携带这个参数
​
          filters: #过滤器,请求在传递过程中通过过滤器修改
            - StripPrefix=1  #去掉第一层前缀
​
      discovery:
        locator:
          enabled: true  #开启网关拉取nacos的服务
​
  • 阿里云网关镜像拉取



docker pull registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-gateway:v2.0

 

  • 网关容器启动



docker run  --name xdclass-gateway -d -p 8888:8888 镜像id


第3集 视频和订单服务迁移阿里云Nacos配置中心和镜像打包

简介:视频服务和订单服务前移配置中心和镜像打包

  • 配置中心新增配置
  • 本地镜像打包推送阿里云镜像仓库



//视频服务
docker tag 53f5604dcd76 registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-video:v2.0
docker push registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-video:v2.0
​
//订单服务
docker tag 16e0740b7525 registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-order:v2.0
docker push registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-order:v2.0

 

  • 阿里云ecs服务器拉取镜像



docker pull registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-video:v2.0
docker pull registry.cn-shenzhen.aliyuncs.com/xdclass-cloud/cloud-order:v2.0

 

  • 机器配置



120.24.216.117(公)
172.18.123.230(私有)
2 vCPU 1 GiB (安装了Mysql/Zipkin服务)
​
​
112.74.55.160(公)
172.18.123.229(私有)
2 vCPU 4 GiB(安装了Nacos、Sentinel、网关、视频服务、订单服务)
  • 视频服务配置



server:
  port: 9000
​
spring:
  application:
    name: xdclass-video-service
  zipkin:
    base-url: http://172.18.123.230:9411/ #zipkin地址
    discovery-client-enabled: false  #不用开启服务发现
  sleuth:
    sampler:
      probability: 1.0 #采样百分比
​
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/cloud_video?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: xdclass.net
​
  cloud:
    nacos:
      discovery:
        server-addr: 172.18.123.229:8848
    sentinel:
      transport:
        dashboard: 172.18.123.229:8858
        port: 9998
​
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
  • 订单服务配置



server:
  port: 8001
​
spring:
  application:
    name: xdclass-order-service
  zipkin:
    base-url: http://172.18.123.230:9411/ #zipkin地址
    discovery-client-enabled: false  #不用开启服务发现
  sleuth:
    sampler:
      probability: 1.0 #采样百分比
  cloud:
    nacos:
      discovery:
        server-addr: 172.18.123.229:8848
    sentinel:
      transport:
        dashboard: 172.18.123.229:8858
        port: 9999
​
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/cloud_order?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: xdclass.net
​
​
# 控制台输出sql、下划线转驼峰
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
​
​
#使用随机负载均衡策略
xdclass-video-service:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
​
# 开启feign对Sentinel
feign:
  sentinel:
    enabled: true
​


第4集 阿里云ECS服务器快速安装Mysql数据库

简介:阿里云ECS服务器快速安装Mysql数据库

  • 安装Mysql 5.7 (注意,Mysql和系统务必保持一致,不然存在不一致)
  • 开启mysql远程连接(如果是准线上,建议不要开启远程连接)
  • 开放阿里云网络安全组配置 3306 端口
  • 导入数据库脚本到Mysql



#下载mysql的Yum仓库
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
​
yum -y install mysql57-community-release-el7-10.noarch.rpm
​
#安装 mysql服务
yum -y install mysql-community-server
​
#启动数据库服务, systemctl 该命令可用于查看系统状态和管理系统及服务,centos7上开始使用
systemctl start  mysqld.service
​
#查看状态
systemctl status mysqld.service
​
#在日志文件中查看初始密码
grep "password" /var/log/mysqld.log
​
#进入修改Mysql密码
​
mysql -uroot -p
​
#新密码设置必须由大小写字母、数字和特殊符号组成
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Xdclass.net168';
​
#开启mysql的远程访问, %是指全部
grant all privileges on *.* to 'root'@'%' identified by 'Xdclass.net168' with grant option;
​
#刷新权限
flush privileges; 



第5集 AlibabaCloud视频和订单服务阿里云启动

简介:视频服务和订单服务容器启动

  • 订单服务新增配置 video.title(配置动态刷新)
  • 视频服务和订单服务启动



docker run  --name xdclass-video -d -p 9000:9000 53f5604dcd76
​
docker run  --name xdclass-order -d -p 8001:8001 16e0740b7525
  • 开放网关服务的网络安全组 8888端口
  • 机器


120.24.216.117(公)
172.18.123.230(私有)
2 vCPU 1 GiB (安装了Mysql/Zipkin服务)
​
​
112.74.55.160(公)
172.18.123.229(私有)
2 vCPU 4 GiB(安装了Nacos、Sentinel、网关、视频服务、订单服务)
  • 视频服务



server:
  port: 9000
​
spring:
  application:
    name: xdclass-video-service
  zipkin:
    base-url: http://172.18.123.230:9411/ #zipkin地址
    discovery-client-enabled: false  #不用开启服务发现
  sleuth:
    sampler:
      probability: 1.0 #采样百分比
​
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://172.18.123.230:3306/cloud_video?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: Xdclass.net168
​
  cloud:
    nacos:
      discovery:
        server-addr: 172.18.123.229:8848
    sentinel:
      transport:
        dashboard: 172.18.123.229:8858
        port: 9998
​
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
  • 订单服务


server:
  port: 8001
​
video:
  title: alibabacloud
​
spring:
  application:
    name: xdclass-order-service
  zipkin:
    base-url: http://172.18.123.230:9411/ #zipkin地址
    discovery-client-enabled: false  #不用开启服务发现
  sleuth:
    sampler:
      probability: 1.0 #采样百分比
  cloud:
    nacos:
      discovery:
        server-addr: 172.18.123.229:8848
    sentinel:
      transport:
        dashboard: 172.18.123.229:8858
        port: 9999
​
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://172.18.123.230:3306/cloud_order?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: Xdclass.net168
​
​
# 控制台输出sql、下划线转驼峰
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
​
​
#使用随机负载均衡策略
xdclass-video-service:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
​
# 开启feign对Sentinel
feign:
  sentinel:
    enabled: true
​
  • 网关服务



server:
  port: 8888
​
spring:
  application:
    name: api-gateway
  zipkin:
    base-url: http://172.18.123.230:9411/ #zipkin地址
    discovery-client-enabled: false  #不用开启服务发现
  sleuth:
    sampler:
      probability: 1.0 #采样百分比
  cloud:
    nacos:
      discovery:
        server-addr: 172.18.123.229:8848
​
    gateway:
      routes: #数组形式
        - id: order-service  #路由唯一标识
          #uri: http://127.0.0.1:8000  #想要转发到的地址
​
          uri: lb://xdclass-order-service  #从nocas进行转发
​
          order: 1 #优先级,数字越小优先级越高
          predicates: #断言 配置哪个路径才转发
            - Path=/order-server/**
            #- Before=2020-09-11T01:01:01.000+08:00  # 在这个时间点之后不能访问
            #- Query=source  #一定携带这个参数
​
          filters: #过滤器,请求在传递过程中通过过滤器修改
            - StripPrefix=1  #去掉第一层前缀
​
      discovery:
        locator:
          enabled: true  #开启网关拉取nacos的服务
​


 

第6集 微服务阿里云部署全链路验证和线上测试

简介:全链路验证AlibabaCloud微服务

  • 全链路验证

 

http://112.74.55.160:8888/order-server/api/v1/video_order/save?videoId=41
  • 限流验证
  • 配置中心动态刷新验证
  • 链路追踪验证
  • 内外网隔离

 

image-20200914155417300

 

干货文档

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dev666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值