[Spring Cloud] Nacos 实战 + Aws云服务器
文章目录
- 前言
- 一、拥有一台Aws Linux服务器
- 1.1、选择Ubuntu版本Linux系统
- 1.2、创建新密钥对
- 1.3、网络设置
- 1.4、配置成功,启动实例
- 1.5、回到实例区域
- 1.6、进入具体的实例
- 1.7、设置安全组
- 二、在Mac上连接Aws云服务,并安装配置JDK11
- 2.1、解决离奇的错误
- 2.2、正常的连接
- 2.3、更新apt管理软件包
- 2.4、搜索openjdk11
- 2.5、安装openjdk11
- 2.6、检查Java版本
- 3、安装Spring Cloud Nacos
- 3.1、找到Nacos的下载地址
- 3.2、在终端下载此地址
- 3.2.1、在终端下,切换到软件包(soft)区域(没有可用sudo mkdir soft 创建)
- 3.2.2、下载软件
- 3.3、安装unzip
- 3.4、解压Nacos压缩软件
- 4、启动Nacos
- 4.1、安全组开放Naocs端口
- 4.2、访问Nacos管理端
- 总结
前言
Java云原生微服务的发展史可以追溯到近几年云计算和微服务架构的兴起。以下是一个简化的概述:
-
初始阶段:在云原生和微服务概念出现之前,Java应用程序通常是单体应用,所有功能都打包在一个应用中。这些应用程序部署在大型机上,随着业务需求的增长,这种模式的扩展性和维护性逐渐暴露出问题。
-
微服务架构的出现:为了解决单体应用的问题,微服务架构逐渐流行。在这种架构中,应用被拆分成一系列小型的、独立的服务,每个服务都运行在自己的进程中,并使用轻量级通信机制进行通信。Java由于其强大的生态系统和丰富的库支持,成为微服务开发的重要语言。
-
云原生的兴起:云原生是一种应用开发和部署的方法,它强调应用程序应该是为云环境设计的,能够充分利用云的弹性和分布式特性。云原生和微服务经常一起使用,云原生为微服务提供了最佳的运行环境。
-
Java与云原生微服务的融合:随着云原生和微服务的发展,Java社区也积极适应这种变化。例如,Spring Boot和Spring Cloud等框架的出现,使得使用Java开发云原生微服务变得更加容易。这些框架提供了开发、部署和管理微服务所需的各种功能。
-
未来的发展:随着云原生技术的进一步发展,Java在云原生微服务领域的地位将更加重要。同时,由于Kubernetes等云原生技术的普及,Java应用程序的部署和管理也将变得更加简单和高效。
今天我们以aws云服务器 + 微服务Spring Cloud Nacos 实战为例,来体验一下云原生微服务的便捷。
一、拥有一台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服务能在公网上访问。
相关文章:
[Spring Cloud] Nacos 实战 + Aws云服务器
文章目录 前言一、拥有一台Aws Linux服务器1.1、选择Ubuntu版本Linux系统1.2、创建新密钥对1.3、网络设置1.4、配置成功,启动实例1.5、回到实例区域1.6、进入具体的实例1.7、设置安全组 二、在Mac上连接Aws云服务,并安装配置JDK112.1、解决离奇的错误2.2…...
SpringCloud微服务注册中心:Nacos介绍,微服务注册,Ribbon通信,Ribbon负载均衡,Nacos配置管理详细介绍
微服务注册中心 注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。 微服务注册中心 服务注…...
身份证号码校验
根据《新版外国人永久居留身份证适配性改造要点》,公司需要把代码中对身份证的校验进行优化 就文档内容可以看到需要优化的要点是: 新版永居证号码以 9 开头 受理地区代码出生日期顺序码校验码;(共18位) egÿ…...
ArcGIS如何处理并加载Excel中坐标数据?
做GIS行业的各位肯定免不了跟数据打交道,其中数据的处理说复杂也复杂,因为我们要花时间去做数据的转换及调整工作,那说简单也简单,因为我们有很多的工具可以使用,那么今天我就给大家带来处理Excel中的GIS数据中的其中一…...
C++标准模板(STL)- 类型支持 (类型修改,从给定类型移除 const 或/与 volatile 限定符,std::remove_cv)
类型特性 类型特性定义一个编译时基于模板的结构,以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为,除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实例…...
nodejs搭建本地服务
前端开发时想自己有个本地服务如下操作直接上干货 1.在桌面上直接在powerShell 输入命令行 npm install -g express-generator 然后 npm install -g express 然后新建一个例如server的文件夹 在powerShell执行 express myStudy -e 端口号默认是3000 直接在地址栏输入 http://…...
如何看待Unity新收费模式?
Unity新收费模式的变化主要在于将收费重心从功能分级收费转变为资源使用量收费,这个改变已经引起了一定的争议和反响。以下是我个人的看法: 优点: 更公平的收费方式:新的收费模式将更加公平,用户只需按照实际使用的数…...
Excel数据可视化—波士顿矩阵图【四象限图】
EXCEL系列文章目录 Excel系列文章是本人亲身经历职场之后萌发的想法,为什么Excel覆盖如此之广,几乎每个公司、学校、家庭都在使用,但是它深藏的宝藏功能却很少被人使用,PQ、BI这些功能同样适用于数据分析;并且在一些需…...
【Java】智慧工地管理系统源代码,支持二次开发,SaaS模式
智慧工地系统围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效。 一、行业现状 1、施工现场管理难:安全事故频发,人工巡检难度大,质量进度协同难等…...
Lstm+transformer的刀具磨损预测
视频讲解: 基于Lstm+transformer的刀具磨损预测实战_哔哩哔哩_bilibili 结果展示: 数据展示: 主要代码: # pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/ # pip install optuna -i https://pypi.tuna.tsinghua.edu.cn/simple/ import numpy as np…...
本机idea连接虚拟机中的Hbase
相关环境: 虚拟机:Centos7 hadoop版本:3.1.3 hbase版本:2.4.11 zookeeper版本:3.5.7 Java IDE:IDEA JDK:8 步骤 步骤一:在idea创建一个maven项目 步骤二:在虚拟机里找到core-site.x…...
.NET中的Object类学习3_MemberwiseClone方法
文章目录 一、前言二、Object.MemberwiseClone方法1 定义2 示例3 备注 三、总结 一、前言 按照MSDN文档的章节顺序来,本文应该是第五节。 但是学了上一节 Finalize之后,发现其内容对实际开发帮助不大。 所以这次跳过了前面的GetHashCode、GetType章节&a…...
鼎捷前端开发校招岗技术面面经(已过)
前言 鼎捷一共两面,一面针对技术,这篇博客记录下我认为有价值的问题。 有价值的提问 js类的继承的方式 es5,涉及到原型、原型链的继承; es6,类与对象,extends,super; 还问到Vue…...
Rockchip平台rk3588源码下载编译(基于Android13)
Rockchip平台rk3588源码下载编译(基于Android13) 源码下载 下载地址 repo init --repo-url https://gerrit.rock-chips.com:8443/repo-release/tools/repo -u https://gerrit.rock-chips.com:8443/Android_T/manifests.git -m Android13.xml服务器镜像下载 repo init --rep…...
RuntimeError: PyPI no longer supports ‘pip search‘ (or XML-RPC search).
RuntimeError: PyPI no longer supports ‘pip search’ (or XML-RPC search). 1. ERROR: XMLRPC request failed Deprecated Methods https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods PyPI XMLRPC Search Disabled https://status.python.org/inc…...
21款奔驰GLS450升级23P驾驶辅助 提升安全出行
辅助驾驶越来越多的被大家所青睐!为了提升驾驶安全性和舒适便捷性奔驰改装原厂半自动驾驶23P辅助系统 23P智能辅助驾驶系统还是很有必要的,因为在跑高速的时候可以使用23P智能驾驶的自动保持车速,保持车距,车道自动居中行驶以及自…...
iOS越狱检测总结
文章目录 前言检测越狱文件私有目录检测检测越狱软件检测系统目录是否变为链接动态库检测环境变量检测系统调用检测指令集调用检测其他方式检测 前言 在之前的文章中,已经带大家一起制作了一个屏蔽越狱检测的Tweak。本文就和大家一起学习整理一下iOS系统中有哪些越…...
场景驱动的 AI 体验设计:如何让智能 IDE 赋能遗留系统重写
作为 AutoDev 的核心开发,我们不仅在不断丰富 AutoDev 的功能以满足不同公司的定制需求,还在与各种团队进行持续交流。在处理遗留系统时,我们发现程序员们日常工作中需要面对大量使用过时技术、基础设施混乱的系统。 在这个背景下,…...
【封装UI组件库系列】搭建项目及准备工作
封装UI组件库系列第一篇搭建项目 前言 🌟搭建项目 创建工程 基本结构 1.创建8个组件展示页面 2.配置路由文件router/index.js 3.页面布局 🌟总结 前言 在前端开发中,大家可能已经用过各种各样的UI组件库了,现在市面上热…...
C#使用DateTime获取日期和时间
在C#中,DateTime类是用来处理日期和时间的类。它具有许多属性和方法,用于操作和获取日期和时间的不同部分。以下是DateTime类的一些常用属性和方法。 属性: 1、DateTime.Now:获取当前日期和时间。 DateTime currentDateTime D…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
