微服務相互呼叫可避免跨域問題
呼叫兩種方式
1.resttemplate
底層採用httpclient的技術,屬於spring boot,是spring boot 預設採用的rebbon服務呼叫。
2.fegin(建議)
屬於spring cloud
resttemplate:
控制器@restcontroller
public class ordercontroller {
//resttemplate 是springboot 提供的web元件,底層用的httpclient技術
@autowired
private resttemplate resttemplate; **
public string getmerber(){
//string url = "http://localhost:2001/index"; //方式一:直接呼叫,一般不採用
//注意這裡用的是服務別名,需要開啟 「註冊中心」 和在啟動檔案新增@loadbalanced註解
啟動檔案新增注入resttemplate
@bean **
@loadbalanced
resttemplate resttemplate(){
return new resttemplate();
新增@loadbalaced可以 使用服務名字查詢註冊中心的位址,從而達到實現微服務呼叫。
如果要呼叫的微服務有兩個埠號(有乙個備用服務),即可實現負載均衡。
fegin:
服務提供者:提供對應的介面實現方法
服務消費者:建立對應的方法介面(表明指向服務提供者),並在控制器中呼叫
服務提供者:
建立控制器(實現介面內容)
@restcontroller
public class hellocontroller { ******
public string index(@pathvariable string name){
return "this is admin ,hello!" + name;
入口檔案
@enableeurekaclient
public static void main(string args) {
pom.xml
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.cloud
spring-cloud-starter-feign
org.springframework.cloud
spring-cloud-starter-openfeign
服務消費者:
介面@feignclient(name= "amncloud-admin") ******重點
public inte***ce helloremote {
public string hello(@pathvariable("name") string name);
控制器@restcontroller
public class ucentercontroller {
@autowired ******重點
helloremote helloremote;
public string index(@pathvariable("name") string name) {
return helloremote.hello(name);
入口檔案
@enablefeignclients #注意與服務提供者的不同*********重點
@enablediscoveryclient
public static void main(string args) {
pom.xml
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.cloud
spring-cloud-starter-feign
org.springframework.cloud
spring-cloud-starter-openfeign
SpringBoot2 0實現靜態資源版本控制
猶記畢業第一年時,公司每次發布完成後,都會在乙個群裡通知 版本更新,各部門清理快取,有問題及時反饋 之類的話。歸根結底就是資源快取的問題,瀏覽器會將請求到的靜態資源,如js css等檔案快取到使用者本地,當使用者再次訪問時就不需要再次請求這些資源了,以此也是提公升了使用者體驗。但是也正是因為這些資源...
spring boot 2 0系列筆記 二
之前使用的spring boot 版本一直是1.5.x,spring推出2.0已經有一段時間,個人感覺可以花精力去研究一些變化的新特性,網上的文章很多,我就不一一介紹了,本文主要是用spring boot 2.0構建乙個現在很流行的分布式module專案的demo,位址在本文最後會貼出.下面開始表演...
二 SpringBoot2 0啟動方式
方式一可以將啟動類作為控制器,從而實現啟動並訪問。author 小吉 description springboot2.0啟動方式一 方式二需要在啟動類中加上 componentscan 註解,註解可以配置掃瞄的基礎包,用於指定從哪個包往下掃瞄元件。author 小吉 description spri...