为了快速体验下新版本springcloud.对照b站图灵视频简单记录下。起码入门不要钱,值得推荐。
基础知识:
会用springboot写demo。
会用mybatis操作MYSQL。
会用git拉取代码。
这都是基本操作。
环境准备:
jdk17 demo是21.我实际测试17也可以。
Maven:推荐3.9.3,我实际使用了之前的3.3.9
仓库用了阿里云的
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>
idea:推荐用新版的,我用之前的2019版也凑合。不确定新版本是否容易破解。
MYSQL:
如果本地有MYSQL,可以用本地的。
如果没有单纯为了快速运行demo,可以体验下阿里云的MYSQL 。可以在线申请1个。
2分钟就完事,比本地安装还要快。免费体验期是1个月。我就是临时申请1个。因为我本子内存不够用了,开了idea里面跑了4个工程后,本地后面陆续部署了nacos,seata,sentinel 等等,卡顿明显。外加测试还有navicat,浏览器,postman等。
C:\Windows\System32\drivers\etc\hosts下添加如下内容
# 服务
127.0.0.1 tlmall-frontend
127.0.0.1 tlmall-order
127.0.0.1 tlmall-account
127.0.0.1 tlmall-storage
127.0.0.1 tlmall-gateway
# 中间件
127.0.0.1 tlmall-mysql
127.0.0.1 tlmall-nacos-server
127.0.0.1 tlmall-seata-server
127.0.0.1 tlmall-sentinel-dashboard
127.0.0.1 tlmall-skywalking-server
demo: https://gitee.com/dongchenglin/vip_springcloud_alibaba_2024s
数据库初始化脚本:
如果阿里云数据库操作drop库没有权限。那就先创建好再分别执行建表SQL。
demo整体如下
服务之间调用,可以采用htttpclient 或者restTemplate
问题就是IP+端口是写死的硬编码。多台机器不能实现负载均衡。
课程给出了restTemplate+loadblance的办法。实际上部分老工程里面restTemplate+nginx是更常见的方式,调用微服务的域名,有ng转发具体机器。
至此,demo跑起来,验证下下单接口,能否实现服务之间调用,基于springboot实现,尚未引入其他组件。