SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud
2021-07-04 08:03
标签:.com response pac localhost aliyun version instance prope 还需 先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1、这里记录下 maven 的配置 2、sidecar 相关的配置,及注册中心的配置 3、服务启动类 @EnableSidecar 4、还需要在PHP服务一个检查服务的接口或文件, 注意响应头类型 Content-Type 以 laravel 框架为例子,配置后的地址是 http://127.0.0.1:1215/health 这是通过 Eureka 中心页面,看见 Sidecar 已经注册上去,注意如果 PHP 的 health 页面的响应内容或者响应头不对的话, Sidecar 服务的 UP 状态会显示 DOWN 这里是 PHP 服务的默认页面 这里是通过 Spring Cloud gateway 转发后的 PHP 服务页面 SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud 标签:.com response pac localhost aliyun version instance prope 还需 原文地址:https://www.cnblogs.com/liugx/p/9614141.htmlxml version="1.0" encoding="UTF-8"?>
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
modelVersion>4.0.0modelVersion>
groupId>cn.taxionggroupId>
artifactId>tx_php_server_side_carartifactId>
version>0.0.1-SNAPSHOTversion>
packaging>jarpackaging>
name>tx_php_server_side_carname>
description>Demo project for Spring Bootdescription>
parent>
groupId>org.springframework.bootgroupId>
artifactId>spring-boot-starter-parentartifactId>
version>2.0.4.RELEASEversion>
relativePath/>
parent>
properties>
project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
java.version>1.8java.version>
properties>
repositories>
repository>
id>aliRepositoryid>
name>aliRepositoryname>
url>http://maven.aliyun.com/nexus/content/groups/public/url>
snapshots>
enabled>falseenabled>
snapshots>
repository>
repositories>
dependencyManagement>
dependencies>
dependency>
groupId>org.springframework.cloudgroupId>
artifactId>spring-cloud-dependenciesartifactId>
version>Finchley.RELEASEversion>
type>pomtype>
scope>importscope>
dependency>
dependencies>
dependencyManagement>
dependencies>
dependency>
groupId>org.springframework.bootgroupId>
artifactId>spring-boot-starterartifactId>
dependency>
dependency>
groupId>org.springframework.bootgroupId>
artifactId>spring-boot-starter-testartifactId>
scope>testscope>
dependency>
dependency>
groupId>org.springframework.cloudgroupId>
artifactId>spring-cloud-netflix-sidecarartifactId>
dependency>
dependency>
groupId>org.springframework.cloudgroupId>
artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
dependency>
dependencies>
build>
plugins>
plugin>
groupId>org.springframework.bootgroupId>
artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
spring:
application:
name: tx-php-server-sidecar
#服务注册中心端口号
server:
port: 8203
#服务注册中心实例的主机名、端口
#是否向服务注册中心注册自己
#是否检索服务
#服务注册中心的配置内容,指定服务注册中心的位置
eureka:
port: 8200
instance:
hostname: localhost
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${eureka.port}/eureka/
sidecar:
port: 1215
instance:
hostname: localhost
health-uri: http://${sidecar.instance.hostname}:${sidecar.port}/health
Route::get(‘health‘, function () {
$content = ‘{ "status" : "UP" }‘;
$status = 200;
$value = ‘application/json; charset=utf-8‘;
return response($content, $status)
->header(‘Content-Type‘, $value);
});
上一篇:C# 集合
下一篇:C++双线性插值-片段
文章标题:SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud
文章链接:http://soscw.com/essay/101634.html