Spring cloud alibaba微服务

  • 前言
    • 技术选型
    • Nacos
      • Nacos与Eureka的功能差异
      • Nacos快速搭建
        • 下载
        • 启动
        • 注册服务

前言

由于本人目前所在的公司的项目随着需求越来越多,用户量越来越庞大,项目结构变得极为复杂,难以维护。在这种背景条件下,公司的架构师开始决定使用Spring cloud微服务来重构之前的项目,所以趁这个机会,好好了解一下Spring cloud alibaba微服务的各种组件以及如何快速上手。

技术选型

通过对市面上目前主流的微服务方案进行了解,我们最终确定了以下的微服务组件来实现:

  • 采用Nacos作为服务的注册中心及配置中心
  • 采用Open-Feign作为服务之间的远程调用
  • 采用Ribbon作为客户端负载均衡
  • 采用Gate-way网关作为所有请求的入口
  • 采用Sentinel作为流量控制,服务降级,熔断
  • 采用Seata 来控制分布式事务

Nacos

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

Nacos与Eureka的功能差异


根据上面的图表,我们可以很清楚的了解到,Nacos相比于Eureka,除了可以作为服务的注册中心之外,还可以作为服务的配置中心,并给开发者提供了一套方便易用的管理界面,用户可以通过登陆Nacos管理界面很方便的对各个服务进行操作和配置。

Nacos快速搭建

下载

  • 通过从gitub上下载源码方式
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
  • 您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。
 unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gzcd nacos/bin

启动

进入Nacos安装包的bin目录:

  • Linux/Unix/Mac启动命令:

sh startup.sh -m standalone

  • windows启动命令:

cmd startup.cmd -m standalone

standalone 代表单机启动模式,非集群模式

mac@bogon local % cd nacos
mac@bogon nacos % cd bin
mac@bogon bin % sh startup.sh standalone
/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/bin/java  -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Djava.ext.dirs=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre/lib/ext:/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/lib/ext -Xloggc:/usr/local/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/local/nacos/plugins/health,/usr/local/nacos/plugins/cmdb,/usr/local/nacos/plugins/mysql -Dnacos.home=/usr/local/nacos -jar /usr/local/nacos/target/nacos-server.jar  --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/usr/local/nacos/conf/ --logging.config=/usr/local/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with cluster
nacos is starting,you can check the /usr/local/nacos/logs/start.out
mac@bogon bin %

控制台打印如上代码,代表nacos本地启动成功,我们可以在浏览器地址栏输入http://localhost:8848/nacos打开nacos管理界面:

用户名默认:nacos,密码默认:nacos

注册服务

nacos启动完毕后,我们可以将我们的项目注册到nacos上,由nacos为我们管理服务。
Springboot项目配置一般有三板斧:引依赖加注解配置文件 三个步骤。Nacos也不例外:

  1. 在pom.xml文件引入Nacos的依赖包
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.2.RELEASE</version></dependency>
  1. 在启动类上添加注解@EnableDiscoveryClient
  2. 在配置文件中添加一下配置
spring:application:name: 这里填写服务的应用名称cloud:nacos:discovery:server-addr: 127.0.0.1:8848

注意:上面的server-addr根据实际情况进行配置,一般开发环境可以配置自己本地的Nacos,端口号默认为8848
配置完成后,启动我们的Springboot项目,然后打开浏览器nacos管理界面,我们可以看到项目配置文件中的服务名对应的服务已经注册上去了。至此,nacos的启动与配置就已经部署完毕。

记录Spring cloud alibaba Nacos学习相关推荐

  1. Spring Cloud Alibaba Nacos 分布式配置

    Spring Cloud Alibaba 分布式配置 1. 简介 Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持.使用 Spr ...

  2. Spring Cloud Alibaba 解决方案 —— 学习示

    Spring Cloud Alibaba 解决方案 -- 学习示例代码 技术体系[知识点] 1.Nacos 服务注册和发现 2.Nacos 统一配置中心 3.熔断降级限流 sentinel 4.fei ...

  3. Spring Cloud Alibaba Nacos Confifig是什么

    Spring Cloud Alibaba Nacos Confifig是Spring Cloud Alibaba的子项目,而Spring Cloud Alibaba是阿里巴巴公司提供的开源的基于Spr ...

  4. Spring Cloud Alibaba Nacos 的 2 种健康检查机制!

    作者 | 磊哥 来源 | Java中文社群(ID:javacn666) 转载请联系授权(微信ID:GG_Stone) Spring Cloud Alibaba Nacos 作为注册中心不止提供了服务注 ...

  5. Spring Cloud Alibaba —— Nacos Config 配置中心

    导航 引言 一.什么是配置中心 二.常见的配置中心组件 三.Nacos Config 入门 四.Nacos Config 动态配置 4.1 硬编码方式(默认支持动态生效) 4.2 属性注入 五.配置共 ...

  6. nacos 配置动态刷新_使用 Spring Cloud Alibaba Nacos Config 作为配置中心

    什么是 Nacos Config 在分布式系统中,由于服务数量巨多,为了方便服务 配置文件统一管理,实时更新,所以需要分布式配置中心组件. Spring Cloud Alibaba Nacos Con ...

  7. 513、Java Spring Cloud Alibaba -【Spring Cloud Alibaba Nacos】 2021.08.30

    目录 1.Nacos简介 2.使用 Docker 快速搭建 Nacos 1.4 2.1 从 git 上 clone 项目: 2.2 clone 完成后,进入 naocs-docker 目录: 2.3 ...

  8. Spring Cloud Alibaba Nacos 分布式配置中心

    文章目录 1 摘要 2 核心 Maven 依赖 3 核心代码 3.1 bootstrap 配置文件 3.2 application 配置文件 3.3 配置测试类 - Controller 层 3.4 ...

  9. Spring Cloud 微服务开发:入门、进阶与源码剖析 —— 11.1 Spring Cloud Alibaba Nacos 概述

    11.1 Spring Cloud Alibaba Nacos 概述 11.1.1 Spring Cloud Alibaba 简介 在一开始,我们先简单介绍下Spring Cloud Alibaba的 ...

最新文章

  1. android ORM框架LitePal 封装SQLite
  2. JVM基础系列第7讲:JVM 类加载机制
  3. 4.3 vsftpd文件共享
  4. 网络工程师求职与职业规划
  5. tensorflow从入门到放弃(二)
  6. python打开文件_喜大普奔 | 如何在Win10下利用Python打开grib文件
  7. Android之java.lang.OutOfMemoryError: Failed to allocate a ** byte allocation with **free bytes and 2M
  8. spring boot实现WebMvcConfigurer接口定制SpringMvc配置
  9. 页面图片中间有条线----解决
  10. Vmware+gdb调试Linux内核——工欲善其事,必先利其器
  11. php+mysql_msqli简单实例
  12. CSDN-markdown
  13. python调用nmap扫描全端口_python nmap实现端口扫描器教程
  14. pyCharm汉化方法
  15. win10配置计算机环境变量,教你win10怎么设置环境变量
  16. 树莓派RaspBerryPi上使用3g模块
  17. android按钮被遮住,解决Android 虚拟按键遮住了页面内容的问题
  18. 微信小程序python解析获取用户手机号_微信小程序如何获取用户绑定手机号
  19. flac - 安装使用
  20. sql server 2005快捷键

热门文章

  1. servu ip段访问_高防IP是如何防御DDOS/CC攻击的,防御原理是什么?
  2. c语言如何乘分数,C语言分数相乘程序简化问题。
  3. iPhone通话质量和基带有关?2招教你检测手机是什么基带!
  4. python3 武装飞船游戏实战 代码及详细注释
  5. 百度音乐爬取文件练习
  6. 笔记本CPU性能天梯图
  7. 手机智能控制汽车系统作用详解
  8. 区块链与新零售的结合
  9. 基于区块链技术的信息服务新架构探讨
  10. 网页从输入url到呈现页面流程