Spring Cloud Alibaba Sidecar 다 중 언어 마이크로 서비스 이 구 조 를 상세 하 게 설명 합 니 다.

...에서  Spring Cloud Alibaba 2.1.1  버 전이 추 가 됐 습 니 다.  spring-cloud-alibaba-sidecar  모듈 은 하나의 에이전트 로 서 다른 언어spring cloud alibaba등 관련 구성 요 소 를 간접 적 으로 사용 할 수 있 도록 합 니 다.게 이 트 웨 이와 의 매 핑 을 통 해 서 비 스 를 얻 을 수 있 고 Ribbon 을 사용 하여 간접 적 으로 호출 할 수 있 습 니 다.

위의 그림 과 같이 Spring Cloud 응용 요청  sidercar  그 다음 에 다른 언어 에 전달 하 는 모듈 은 이 구조 서비스 코드 에 대한 장점 이 있다.  ,직접적인 근거 가 필요 없다.  nacos  기타 등록 센터 api 등록 등
입문
다른 언어 인터페이스 서비스 구축
go 기반 간단 한 서비스 인터페이스 쓰기http://127.0.0.1:8089/sidecar

package mainimport (	"encoding/json"
"fmt"
"log"
"net/http")func main() {
http.HandleFunc("/sidecar", sidecar)
http.HandleFunc("/heath", health)	log.Fatal(http.ListenAndServe(":8089", nil))
}func sidecar(w http.ResponseWriter, r *http.Request) {
_, _ = fmt.Fprintf(w, "hello spring cloud alibaba sidecar")
}

func health(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
actuator := make(map[string]string)
actuator["status"] = "UP"
_ = json.NewEncoder(w).Encode(actuator)
}
세우다 sidercar 활용 단어 참조
증가시키다  sidecar  의지 하 다

<dependency>
<groupid>com.alibaba.cloud</groupid>
<artifactid>spring-cloud-starter-alibaba-sidecar</artifactid>
<version>2.1.1.RELEASE</version></dependency>
배치 하 다.  application.yml

server:
 port: 8088spring:
 cloud:
  nacos:
   discovery:
    server-addr: localhost:8848
 application:
  name: go-provider#       sidecar:
 ip: localhost
 port: 8089
 health-check-url: http://localhost:8089/health
세우다 nacos consumer 응용application.yml

server:
 port: 8087spring:
 cloud:
  nacos:
   discovery:
    server-addr: localhost:8848
 application:
  name: nacos-consumer
consumer  논리학

@RestController@EnableDiscoveryClient@SpringBootApplicationpublic class NacosConsumerApplication {  public static void main(String[] args) {
    SpringApplication.run(NacosConsumerApplication.class, args);
  }  @Bean
  @LoadBalanced
  public RestTemplate restTemplate() {    return new RestTemplate();
  }  @Autowired
  private RestTemplate restTemplate;  @GetMapping("/test")  public String test() {    return restTemplate.getForObject("http://go-provider/sidecar", String.class);
  }

}
테스트 사용
방문spring cloud consumer

curl http://localhost:8087/test
출력  go-provider응용

hello spring cloud alibaba sidecar
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기