真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么搭建springcloud應用

本篇內(nèi)容介紹了“怎么搭建spring cloud應用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設與網(wǎng)站營銷,提供成都網(wǎng)站設計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、微信小程序定制開發(fā)、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。

一、 spring cloud 微服務架構

怎么搭建spring cloud應用

二、 一步一步 搭建spring cloud應用

serviceclient

Service:提供服務的應用,端口是 808x的形式 Client:調(diào)用服務的應用 端口是809x的形式 整個程序以根據(jù)client端根據(jù)用戶id調(diào)用服務端程序返回用戶信息做示例。

  • 1、 兩個單體spring boot應用調(diào)用 本節(jié)講的比較簡單,分別新建兩個普通的spring boot 應用,不使用任何spring cloud相關的東西,service 端提供一個restful接口服務,client端通過RestTemplate來進行調(diào)用 首先只需要創(chuàng)建兩個單獨的Spring boot應用,服務端的端口為8081,客戶端的端口是8071,然后在客戶端用RestTemplate 調(diào)用即可,服務端的代碼不貼了,就是用spring initializr 創(chuàng)建的一個普通的spring boot web項目,主要是說一下客戶端的調(diào)用。

配置RestTemplate

@Configuration
public class ConfigurationBean {
    private SimpleClientHttpRequestFactory getHttpRequestFactory(){
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        factory.setConnectTimeout(10000);
        factory.setReadTimeout(10000);
        return factory;

調(diào)用方式

@RestController
@RequestMapping("/client/user")
public class UserApi {

    @Autowired
    private RestTemplate restTemplate;

    @RequestMapping("/{id}")
    public String getUser(@PathVariable("id") String id){
        String forObject = restTemplate.getForObject("http://localhost:8081/user/1", String.class);
        return forObject;
    }
}

分別啟動service和client,通過調(diào)用訪問http://localhost:8080/client/user/1,返回服務端數(shù)據(jù),當然restTemplate還有很多其他的方法可用,自己在實際使用的時候可以去探究。

  • 2、 以上就完成了兩個微服務間通信,客戶端調(diào)用服務端的接口,功能完畢,但是這指定不是我們想要的姿勢,我們在客戶端,使用restTemplate寫死了服務端的地址。在實際的生產(chǎn)環(huán)境中,我們的服務端不可能只有一臺,我們的服務端也不可能只有一臺機器。我們將面臨以下問題:

  • 橫向擴展服務

  • 服務端和客戶端機器上下線

為了解決不想寫死服務端的地址,并且能動態(tài)的切換對服務端機器的調(diào)用的問題,引入注冊中心的概念,說起來注冊中心,我們通常會想起來zookeeper,但是spring cloud中并沒有采用zookeeper,而是采用了Eureka,zookeeper和Eureka對于保證CAP定理中的方式不同,zookeeper比較注重CP(一致性,分區(qū)耐受性),而對于Eureka來說重點保證AP(一致性和分區(qū)耐受性)。 注冊中心有了,那客戶端的請求是如何分發(fā)到相應某一臺服務器上呢,也許我們用過nginx,nginx通過配置服務器的權重, ip hash或者隨機以及輪訓這些策略進行分配服務器,對于spring cloud 來說,干這個活的是Ribbon。接下來就通過改造第一步的項目來讓它支持以上這些需求。 首先需要搭建一個EurekaServer,也就是注冊中心,和zookeeper是一個需要安裝的軟件不同,Eureka是一個內(nèi)置在spring boot start中的一個應用程序,我們只需要引入spring-boot-start-eureka,然后啟動項目即可。在這之前說一下EurekaServer和我們應用程序的關系。 怎么搭建spring cloud應用

EurekaServer 作為注冊中心,接收服務端的注冊一級客戶端對服務端服務列表的請求, Eureka Client內(nèi)嵌到應用程序中,用于注冊服務或者獲取服務。
搭建EurekaServer

pom.xml



   4.0.0

   com.wtf.cloud
   eureka-server
   0.0.1-SNAPSHOT
   jar

   eureka-server
   Demo project for Spring Boot

   
      org.springframework.boot
      spring-boot-starter-parent
      2.0.0.RELEASE
       
   

   
      UTF-8
      UTF-8
      1.8
      Finchley.M8
   

   
      
         org.springframework.cloud
         spring-cloud-starter-eureka-server
         1.4.3.RELEASE
      


   

   
      
         
            org.springframework.cloud
            spring-cloud-starter-parent
            ${spring-cloud.version}
            pom
            import
         
      
   

   
      
         
            org.springframework.boot
            spring-boot-maven-plugin
         
      
   

   
      
         spring-milestones
         Spring Milestones
         https://repo.spring.io/milestone
         
            false
         
      
   


main文件

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

   public static void main(String[] args) {
      SpringApplication.run(EurekaServerApplication.class, args);
   }
}

配置文件 application.yml

server:
  port: 8888
spring:
  application:
    name: eureka-server
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    serviceUrl:
      defaultZone: http://localhost:8888/eureka/

應用的端口為8888
應用名稱:eureka-server 然后是配置eureka的相關東西 在默認設置下,改服務注冊中心也會將自己組委客戶端來嘗試注冊它自己,所以我們需要禁止它的客戶端行為
eureka.client.register-with-eureka=false
由于該應用屬于注冊中心,所以設置為false,代表不像注冊中心注冊自己
eureka.client.fetch-registry=false
由于注冊中心的職責是維護服務實例,它并不需要去檢索服務,所以也設置為false。 更多配置可以參照EurekaInstanceConfigBean 和EurekaClientConfigBean
啟動服務訪問http://localhost:8888/ 可以看到如下界面: 怎么搭建spring cloud應用

“怎么搭建spring cloud應用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


網(wǎng)站題目:怎么搭建springcloud應用
當前路徑:http://weahome.cn/article/jshioc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部