中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

100元網(wǎng)站建設(shè)寧波網(wǎng)絡(luò)推廣平臺

100元網(wǎng)站建設(shè),寧波網(wǎng)絡(luò)推廣平臺,網(wǎng)站建設(shè)公司濟(jì)南,做網(wǎng)站不買服務(wù)器百度能搜到Nacos服務(wù)搭建 我們首先在Nacos的GitHub中下載相關(guān)的安裝文件。https://github.com/alibaba/nacos/releases 但是因?yàn)榉?wù)器在國外,所以我們直接給大家提供了對應(yīng)的安裝文件。直接解壓縮到非中文的目錄下,然后啟動即可 服務(wù)訪問的地址是:htt…

Nacos服務(wù)搭建

我們首先在Nacos的GitHub中下載相關(guān)的安裝文件。https://github.com/alibaba/nacos/releases

image.png

但是因?yàn)榉?wù)器在國外,所以我們直接給大家提供了對應(yīng)的安裝文件。直接解壓縮到非中文的目錄下,然后啟動即可

image.png

image.png

服務(wù)訪問的地址是:http://localhost:8848/nacos

image.png

Nacos服務(wù)注冊

引入相關(guān)的依賴文件:

 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

放開注冊中心:@EnableDiscoveryClient

// 放開注冊中心
@EnableDiscoveryClient
@SpringBootApplication
// 指定Mapper接口對應(yīng)的路徑
@MapperScan("com.msb.mall.product.dao")
public class MallProducetApplication {public static void main(String[] args) {SpringApplication.run(MallProducetApplication.class, args);}}

然后需要在配置問中配置注冊中心的相關(guān)信息

image.png

然后重啟服務(wù),我們就可以在注冊中心中發(fā)現(xiàn)對應(yīng)的服務(wù)注冊信息了

image.png

那么安裝相同的步驟,完成其他幾個(gè)微服務(wù)的注冊

image.png

Nacos容器中安裝

為了使用的方便,我們將Nacos安裝到Docker容器中

首先我們需要拉取對應(yīng)的鏡像文件

docker pull nacos/nacos-server:1.4.2

通過鏡像文件運(yùn)行nacos容器

docker run -d --env MODE=standalone --name nacos -v /mydata/nacos/conf:/home/nacos/conf -p 8848:8848 nacos/nacos-server:1.4.2

安裝中如果出現(xiàn)了如下的提示

image.png

那么就把windows中的安裝文件中的conf目錄的文件上傳到虛擬機(jī)中,目前測試下來無論有沒有報(bào)錯(cuò)都最好把windows的conf下內(nèi)容上傳一下,不然可能nacos不能訪問

image.png

服務(wù)啟動時(shí)間比較長,耐心等待一會

啟動容器后,測試訪問:

http://192.168.56.100:8848/nacos 默認(rèn)的賬號密碼:nacos nacos

image.png

設(shè)置nacos服務(wù)自啟動

docker update --restart=always  nacos

image.png

然后將眾多的微服務(wù)的注冊中心地址修改為docker容器中的注冊中心地址:

image.png

看到注冊信息就表示操作成功了

image.png

OpenFegin服務(wù)調(diào)用

OpenFegin是一個(gè)聲明式的服務(wù)調(diào)用組件。本質(zhì)上是封裝的Ribbon實(shí)現(xiàn)的。

image.png

商品服務(wù)定義接口

我們在商品服務(wù)中定義一個(gè)對外提供功能的接口

image.png

訂單服務(wù)中調(diào)用

我們在訂單服務(wù)中集成OpenFegin,完成對應(yīng)的商品服務(wù)調(diào)用

引入相關(guān)的依賴

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

然后創(chuàng)建對應(yīng)的Fegin接口

/*** @FeignClient 指明我們要從注冊中心中發(fā)現(xiàn)的服務(wù)的名稱*/
@FeignClient(name = "mall-product")
public interface ProductService {/*** 需要訪問的遠(yuǎn)程方法* @return*/@GetMapping("/product/brand/all")public R queryAllBrand();
}

還需要在啟動類中開啟遠(yuǎn)程調(diào)用

/*** basePackages 制定Fegin接口的路徑*/
@EnableFeignClients(basePackages = "com.msb.mall.order.fegin")
@EnableDiscoveryClient
@SpringBootApplication
@MapperScan("com.msb.mall.order.dao")
public class MallOrderApplication {public static void main(String[] args) {SpringApplication.run(MallOrderApplication.class, args);}}

然后在Order的控制期中完成商品服務(wù)的調(diào)用

    @AutowiredProductService productService;@GetMapping("/products")public R queryProduct(){// OpenFegin 遠(yuǎn)程調(diào)用服務(wù)return R.ok().put("products",productService.queryAllBrand());}

啟動服務(wù)報(bào)錯(cuò)

image.png

然后就把相關(guān)的依賴添加上就可以了

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>

如果請求的時(shí)候,發(fā)現(xiàn)還報(bào)錯(cuò)

image-20230122225548342

在nacos的依賴中需要過濾netflix-ribbon

image-20230122225811585

<exclusions><exclusion><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></exclusion>
</exclusions>

image.png

通過@RefreshScope來動態(tài)的刷新配置數(shù)據(jù),注解的位置寫在Controller中

image.png

最后我們通過@Value(“#{}”) 來獲取配置中心中的數(shù)據(jù),配置中心的數(shù)據(jù)優(yōu)先于application.yml中的屬性信息

image.png

在對應(yīng)的命名空間下創(chuàng)建對應(yīng)的配置文件

image.png

默認(rèn)使用的public命名空間,如果要使用特定的命名空間的話,我們需要在bootstrap.properties中顯示的指定使用的命名空間

image.png

然后通過配置分組來區(qū)分不同的開發(fā)環(huán)境【開發(fā)環(huán)境dev,測試環(huán)境test,生產(chǎn)環(huán)境prod】image.png

也就在具體的命名空間下我們創(chuàng)建的多個(gè)環(huán)境對應(yīng)的配置文件

image.png

Nacos配置中心

配置中心的基本使用

首先添加對應(yīng)的依賴,因?yàn)槠渌奈⒎?wù)也需要向配置中心中獲取配置信息,所以對應(yīng)的依賴我們添加在了commons模塊中

        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>3.0.3</version></dependency>

創(chuàng)建bootsrap.properties文件,這個(gè)文件會優(yōu)先于application.yml文件加載

spring.application.name=mall-order
spring.cloud.nacos.config.server-addr=192.168.56.100:8848

在nacos服務(wù)中創(chuàng)建對應(yīng)的數(shù)據(jù)集,名稱是應(yīng)用名稱.properties ,mall-order.properties

image.png

命名空間和配置分組

我們在Nacos配置中心中是通過命名空間和配置分組來管理我們眾多的配置信息

首先我們通過命名空間來隔離服務(wù),給每一個(gè)服務(wù)創(chuàng)建一個(gè)對應(yīng)的命名空間

image.png

如果我們需要加載對應(yīng)的配置組中的信息,那么同樣的需要在bootstrap.properties中設(shè)置對應(yīng)的配置組信息

image.png

配置拆分

我們現(xiàn)在是將某個(gè)服務(wù)中的所有的配置都寫在了同一個(gè)配置文件中。為了方便管理,我們可以將配置信息拆分到配置中心中。

我們可以將配置文件中的數(shù)據(jù)源,mybatis的配置信息以及其他的信息拆分開來

image.png

然后在bootstrap.properties中的指定

```properties
spring.application.name=mall-order
spring.cloud.nacos.config.server-addr=192.168.56.100:8848
# 指定使用的命名空間
spring.cloud.nacos.config.namespace=638a5c2f-488f-4fa4-b7d3-1533d772e715
# 指定對應(yīng)的配置組
spring.cloud.nacos.config.group=prod# 配置多個(gè)配置集
spring.cloud.nacos.config.ext-config[0].data-id=mybats.yml
spring.cloud.nacos.config.ext-config[0].group=prod
spring.cloud.nacos.config.ext-config[0].refresh=falsespring.cloud.nacos.config.ext-config[1].data-id=datasourc.yml
spring.cloud.nacos.config.ext-config[1].group=prod
spring.cloud.nacos.config.ext-config[1].refresh=falsespring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=prod
spring.cloud.nacos.config.ext-config[2].refresh=false

網(wǎng)關(guān)Gateway

網(wǎng)關(guān)基本介紹

??在微服務(wù)架構(gòu)里,服務(wù)的粒度被進(jìn)一步細(xì)分,各個(gè)業(yè)務(wù)服務(wù)可以被獨(dú)立的設(shè)計(jì)、開發(fā)、測試、部署和管理。這時(shí),各個(gè)獨(dú)立部署單元可以用不同的開發(fā)測試團(tuán)隊(duì)維護(hù),可以使用不同的編程語言和技術(shù)平臺進(jìn)行設(shè)計(jì),這就要求必須使用一種語言和平臺無關(guān)的服務(wù)協(xié)議作為各個(gè)單元間的通訊方式。

image.png

??本系統(tǒng)中我們選擇的是Gateway作為我們的網(wǎng)關(guān)組件,Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技術(shù)開發(fā)的網(wǎng)關(guān),Spring Cloud Gateway旨在為微服務(wù)架構(gòu)提供一種簡單而有效的統(tǒng)一的API路由管理方式。Spring Cloud Gateway作為Spring Cloud生態(tài)系中的網(wǎng)關(guān),目標(biāo)是替代ZUUL,其不僅提供統(tǒng)一的路由方式,并且基于Filter鏈的方式提供了網(wǎng)關(guān)基本的功能,例如:安全,監(jiān)控/埋點(diǎn),和限流等。

??網(wǎng)關(guān)有幾個(gè)非常重要的概念:

  • Route(路由):這是網(wǎng)關(guān)的基本構(gòu)建塊,它由一個(gè)ID,一個(gè)目標(biāo)URI,一組斷言和一組過濾器定義,如果斷言為真,則路由匹配
  • Predicate(斷言):是Java8中提供的函數(shù)式接口,用來判斷是否路由匹配的
  • Filter(過濾器):對斷言匹配的請求和響應(yīng)進(jìn)行修改處理

在這里插入圖片描述

網(wǎng)關(guān)應(yīng)用

創(chuàng)建網(wǎng)關(guān)API服務(wù),修改SpringBoot和SpringCloud相關(guān)版本和其他的微服務(wù)保持一致。

然后添加對應(yīng)的依賴

        <dependency><groupId>com.msb.mall</groupId><artifactId>mall-commons</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency>

因?yàn)榫W(wǎng)關(guān)服務(wù)路由的時(shí)候需要去注冊中心中發(fā)現(xiàn)相關(guān)的服務(wù)所以需要完成Nacos注冊中心的配置

# 注冊中心的配置
spring.application.name=mall-gateway
spring.cloud.nacos.discovery.server-addr=192.168.56.100:8848# 指定注冊中心的服務(wù)端口
server.port=8070

放開注解

image.png

同樣的網(wǎng)關(guān)中的相關(guān)配置我們也需要添加到Nacos的配置中心中,所以也需要整合Nacos配置中心

image.png

然后我們測試路由規(guī)則是否可行

spring:application:name: mall-gatewaycloud:nacos:discovery:server-addr: 192.168.56.100:8848gateway:routes: - id: route1uri: http://www.baidu.compredicates:- Query=url,baidu- id: route2uri: http://www.jd.compredicates: - Query=url,jd

啟動時(shí)候因?yàn)橐蕾嚨腸ommons服務(wù)中有MyBatis的依賴,那么在網(wǎng)關(guān)API服務(wù)中也需要數(shù)據(jù)源的相關(guān)配置,那么沒有就拋異常,這時(shí)我們可以在啟動類的SpringBootApplication注解中排除DataSourceAutoConfiguration的自動注入。

image.png

然后根據(jù)對應(yīng)的路由規(guī)則測試即可:

http://localhost:8070/?url=baidu

http://localhost:8070/?url=jd

http://www.risenshineclean.com/news/29812.html

相關(guān)文章:

  • 如何管理個(gè)人網(wǎng)站推廣網(wǎng)站有效的方法
  • 給詐騙犯做網(wǎng)站大俠seo外鏈自動群發(fā)工具
  • 做百度企業(yè)網(wǎng)站廣州做seo公司
  • 查企業(yè)網(wǎng)站網(wǎng)絡(luò)推廣途徑
  • php外貿(mào)網(wǎng)站制作新人跑業(yè)務(wù)怎么找客戶
  • 教育公司網(wǎng)站模板百度代理公司查詢
  • 做技術(shù)開發(fā)的網(wǎng)站上海發(fā)布最新情況
  • 虛擬機(jī)wordpress建站谷歌chrome
  • 手機(jī)微信可以做網(wǎng)站嗎nba最新比賽直播
  • 做衣服的教程網(wǎng)站有哪些網(wǎng)站開發(fā)一般多少錢
  • 企業(yè)文化理念口號seo關(guān)鍵詞排優(yōu)化軟件
  • 短視頻營銷的優(yōu)勢有哪些seo外包資訊
  • 定制網(wǎng)站的制作流程網(wǎng)絡(luò)推廣的方式有哪些?
  • 深圳網(wǎng)站設(shè)計(jì)必選成都柚米科技09做什么軟件可以排名次
  • 做有后臺的網(wǎng)站做seo需要哪些知識
  • 綿陽網(wǎng)站建設(shè)信賴輝煌鄭州網(wǎng)絡(luò)運(yùn)營培訓(xùn)
  • 哈爾濱網(wǎng)站推廣購物鏈接
  • 惠州外貿(mào)網(wǎng)站建設(shè)推廣武漢搜索引擎排名優(yōu)化
  • 怎樣自創(chuàng)網(wǎng)站網(wǎng)頁設(shè)計(jì)與制作用什么軟件
  • 政府門戶網(wǎng)站建設(shè)內(nèi)容百度怎么搜索網(wǎng)址打開網(wǎng)頁
  • 用dw個(gè)人網(wǎng)站怎么做優(yōu)化網(wǎng)站的軟件下載
  • 上海自建站招聘杭州企業(yè)seo
  • 創(chuàng)建網(wǎng)站向?qū)Ш湍0錽eo如何提高排名
  • 網(wǎng)站目錄提交谷歌搜索引擎鏡像
  • 西安建設(shè)網(wǎng)站排名自媒體發(fā)布軟件app
  • 網(wǎng)站流量怎么查看精準(zhǔn)引流客源的方法可靠嗎
  • 鹽城網(wǎng)站開發(fā)效果新聞發(fā)稿軟文推廣
  • 做期貨應(yīng)該看的網(wǎng)站網(wǎng)奇seo培訓(xùn)官網(wǎng)
  • 網(wǎng)站開發(fā)招標(biāo)網(wǎng)絡(luò)輿情軟件免費(fèi)入口
  • 南陽公司做網(wǎng)站市場營銷推廣方案模板