【亚马逊云科技产品测评】活动征文|aws 云服务器 + 微服务 Spring Cloud Nacos 实战
前言
Java 云原生微服务的发展史可以追溯到近几年云计算和微服务架构的兴起。以下是一个简化的概述:
初始阶段:在云原生和微服务概念出现之前,Java 应用程序通常是单体应用,所有功能都打包在一个应用中。这些应用程序部署在大型机上,随着业务需求的增长,这种模式的扩展性和维护性逐渐暴露出问题。
微服务架构的出现:为了解决单体应用的问题,微服务架构逐渐流行。在这种架构中,应用被拆分成一系列小型的、独立的服务,每个服务都运行在自己的进程中,并使用轻量级通信机制进行通信。Java 由于其强大的生态系统和丰富的库支持,成为微服务开发的重要语言。
云原生的兴起:云原生是一种应用开发和部署的方法,它强调应用程序应该是为云环境设计的,能够充分利用云的弹性和分布式特性。云原生和微服务经常一起使用,云原生为微服务提供了最佳的运行环境。
Java 与云原生微服务的融合:随着云原生和微服务的发展,Java 社区也积极适应这种变化。例如,Spring Boot 和 Spring Cloud 等框架的出现,使得使用 Java 开发云原生微服务变得更加容易。这些框架提供了开发、部署和管理微服务所需的各种功能。
未来的发展:随着云原生技术的进一步发展,Java 在云原生微服务领域的地位将更加重要。同时,由于 Kubernetes 等云原生技术的普及,Java 应用程序的部署和管理也将变得更加简单和高效。
<h4>今天我们以 aws 云服务器 + 微服务 Spring Cloud Nacos 实战为例,来体验一下云原生微服务的便捷。 </h4>
一、拥有一台 Aws Linux 服务器
原来的文章里,我们创建了一个 AWS Linux 实例:【亚马逊云科技产品测评】活动征文|10分钟拥有一台AWS Linux系统,今天我们把 Linux 版本换成 Ubuntu 系统,在创建实例时,需要有针对性的调整。
1.1、选择 Ubuntu 版本 Linux 系统
点击【浏览其他 AMI】,选择【Ubuntu Server 22.04 LTS(HVM) ...】系统

1.2、创建新密钥对
创建完新密钥对,会自动下载同名的秘钥文件(aws.pem)。

可以把秘钥(aws.pem)移动到 Desktop 文件夹下

1.3、网络设置
第一次创建实例,可以选择【创建安全组】

非第一次创建实例,可以选择【选择现有的安全组】

1.4、配置成功,启动实例
创建实例成功。( 这里新账号有一年期免费实例使用权,但是只能有一个实例免费。)点击左上角的【EC2】或者【实例】

1.5、回到实例区域
EC2 控制面板里的资源区域,可以看到正在运行的实例、安全组、弹性 IP、密钥对、卷、实例等。我们点击【实例(正在运行)】,进入正在运行的实例列表页面。

1.6、进入具体的实例
点击【实例 ID】里的实例,进入实例详情页面。

1.7、设置安全组
可以看到左边的导航,以及内容页左上角的导航。EC2 -> 实例 -> 我们选中的具体实例

点击【安全】,这里可以看到我们添加的【myweb】实例(默认实例开放 80、22 端口,不能开放 8000、8848、8888 等自定义端口)。

二、在 Mac 上连接 Aws 云服务,并安装配置 JDK11
在 Mac 电脑上打开【终端】(Windows 就是 Xshell 了)

2.1、解决离奇的错误
1.2 处我们生成了 aws.pem 的秘钥,所以这里要选中 aws.pem 作为秘钥,我们可以把秘钥配置到环境变量,或者我们进入存放秘钥的文件夹操作。比如 1.2 处我们把秘钥放在了 Desktop ,我们第一步就是【cd Desktop】,进入到 Desktop 目录。否则就会出现下面图上的错误情况

2.2、正常的连接
当秘钥正确,主机名无误后,就能正常连接上 Aws Ubuntu Linux 云服务器了。

2.3、更新 apt 管理软件包
执行【sudo apt update】命令,更新 apt 管理软件包配置,拉取到最新软件版本。

2.4、搜索 openjdk11
执行【apt search openjdk】命令,会出现 jdk 可安装的信息列表,记住我们要安装的 openjdk-11-jdk。
2.5、安装 openjdk11
执行【sudo apt install openjdk-11-jdk】命令,安装 openjdk-11-jdk。


2.6、检查 Java 版本
执行【java -version】命令,检查 java 的版本。我们刚才安装的是 openjdk-11-jdk,这里显示【openjdk version "11.0.20.1" 2023-08-24 ... 】,证明 JDK 11 安装配置成功。

3、安装 Spring Cloud Nacos
可见以往的文章,云原生微服务实战 Spring Cloud Alibaba 之 Nacos,4.2 部分有 Nacos 的可执行版本下载地址:https://github.com/alibaba/nacos/releases/tag/2.0.4关于 Nacos 的使用,在上述文章里有详细介绍,包括服务端、调用方等。

3.1、找到 Nacos 的下载地址
在 github 页面上找到 Assets 区域,并复制链接地址:https://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.zip

3.2、在终端下载此地址
3.2.1、在终端下,切换到软件包(soft)区域(没有可用 sudo mkdir soft 创建)
【cd soft】

3.2.2、下载软件
执行命令【wget https://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.zip】,下载 Nacos 软件
此时去解压缩 Nacos 的压缩包,找不到 unzip 命令,我们需要去安装 unzip 工具。

3.3、安装 unzip
执行命令【sudo apt install unzip】,下载解压缩软件,可以解压 Nacos 的 zip 压缩包。

3.4、解压 Nacos 压缩软件
执行命令【unzip nacos-server-2.0.4.zip】,解压 Nacos 的 zip 压缩包。

4、启动 Nacos
进入到 **/nacos/bin 目录下,执行【./startup.sh -m standlone】(单机模式)

4.1、安全组开放 Naocs 端口
1、1.7 部分,设置的 8888 端口 2、/nacos/conf/application.yaml 文件,修改 8848 端口成 8888


4.2、访问 Nacos 管理端
访问地址:http://{AWS 实例公网 IP}/8888/nacos
登录鉴权:nacos/nacos
进入管理页面
总结
以上就是今天要讲的内容,本文仅仅简单介绍了在 Aws Ubuntu Linux 系统上更新 apt 源、安装 JDK11/unzip/nacos,并最终启动成功 Spring Cloud Nacos 服务,并通过开放 Aws 云服务安全组,使得 Nacos 服务能在公网上访问。
评论