Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zhangjian1949
microservices-platform
提交
30b87fdb
microservices-platform
项目概览
zhangjian1949
/
microservices-platform
与 Fork 源项目一致
Fork自
zlt2000 / microservices-platform
通知
6
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
microservices-platform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
30b87fdb
编写于
1月 30, 2021
作者:
zlt2000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加集成Dubbo的demo
上级
880b599b
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
187 addition
and
21 deletion
+187
-21
zlt-commons/zlt-log-spring-boot-starter/src/main/java/com/central/log/trace/DubboTraceFilter.java
...src/main/java/com/central/log/trace/DubboTraceFilter.java
+13
-21
zlt-demo/dubbo-demo/README.md
zlt-demo/dubbo-demo/README.md
+12
-0
zlt-demo/dubbo-demo/pom.xml
zlt-demo/dubbo-demo/pom.xml
+50
-0
zlt-demo/dubbo-demo/src/main/java/org/zlt/WebDubboApp.java
zlt-demo/dubbo-demo/src/main/java/org/zlt/WebDubboApp.java
+20
-0
zlt-demo/dubbo-demo/src/main/java/org/zlt/controller/WebController.java
...-demo/src/main/java/org/zlt/controller/WebController.java
+28
-0
zlt-demo/dubbo-demo/src/main/java/org/zlt/service/RpcService.java
.../dubbo-demo/src/main/java/org/zlt/service/RpcService.java
+12
-0
zlt-demo/dubbo-demo/src/main/java/org/zlt/service/impl/RpcServiceImpl.java
...mo/src/main/java/org/zlt/service/impl/RpcServiceImpl.java
+22
-0
zlt-demo/dubbo-demo/src/main/resources/application.yml
zlt-demo/dubbo-demo/src/main/resources/application.yml
+19
-0
zlt-demo/dubbo-demo/src/main/resources/bootstrap.yml
zlt-demo/dubbo-demo/src/main/resources/bootstrap.yml
+11
-0
未找到文件。
zlt-commons/zlt-log-spring-boot-starter/src/main/java/com/central/log/trace/DubboTraceFilter.java
浏览文件 @
30b87fdb
package
com.central.log.trace
;
import
com.central.log.properties.TraceProperties
;
import
org.apache.dubbo.common.constants.CommonConstants
;
import
org.apache.dubbo.common.extension.Activate
;
import
org.apache.dubbo.rpc.*
;
import
org.springframework.util.StringUtils
;
import
javax.annotation.Resource
;
/**
* dubbo过滤器,传递traceId
*
* @author zlt
* @date 202
0/10/14
* @date 202
1/1/30
* <p>
* Blog: https://zlt2000.gitee.io
* Github: https://github.com/zlt2000
*/
@Activate
(
group
=
{
CommonConstants
.
PROVIDER
,
CommonConstants
.
CONSUMER
},
order
=
MDCTraceUtils
.
FILTER_ORDER
)
public
class
DubboTraceFilter
implements
Filter
{
@Resource
private
TraceProperties
traceProperties
;
/**
* 服务消费者:传递traceId给下游服务
* 服务提供者:获取traceId并赋值给MDC
...
...
@@ -29,25 +23,23 @@ public class DubboTraceFilter implements Filter {
@Override
public
Result
invoke
(
Invoker
<?>
invoker
,
Invocation
invocation
)
throws
RpcException
{
boolean
isProviderSide
=
RpcContext
.
getContext
().
isProviderSide
();
if
(
traceProperties
.
getEnable
())
{
if
(
isProviderSide
)
{
//服务提供者逻辑
String
traceId
=
invocation
.
getAttachment
(
MDCTraceUtils
.
KEY_TRACE_ID
);
if
(!
StringUtils
.
isEmpty
(
traceId
))
{
MDCTraceUtils
.
addTraceId
();
}
else
{
MDCTraceUtils
.
putTraceId
(
traceId
);
}
}
else
{
//服务消费者逻辑
String
traceId
=
MDCTraceUtils
.
getTraceId
();
if
(!
StringUtils
.
isEmpty
(
traceId
))
{
invocation
.
setAttachment
(
MDCTraceUtils
.
KEY_TRACE_ID
,
traceId
);
}
if
(
isProviderSide
)
{
//服务提供者逻辑
String
traceId
=
invocation
.
getAttachment
(
MDCTraceUtils
.
KEY_TRACE_ID
);
if
(
StringUtils
.
isEmpty
(
traceId
))
{
MDCTraceUtils
.
addTraceId
();
}
else
{
MDCTraceUtils
.
putTraceId
(
traceId
);
}
}
else
{
//服务消费者逻辑
String
traceId
=
MDCTraceUtils
.
getTraceId
();
if
(!
StringUtils
.
isEmpty
(
traceId
))
{
invocation
.
setAttachment
(
MDCTraceUtils
.
KEY_TRACE_ID
,
traceId
);
}
}
try
{
return
invoker
.
invoke
(
invocation
);
}
finally
{
if
(
isProviderSide
&&
traceProperties
.
getEnable
()
)
{
if
(
isProviderSide
)
{
MDCTraceUtils
.
removeTraceId
();
}
}
...
...
zlt-demo/dubbo-demo/README.md
0 → 100644
浏览文件 @
30b87fdb
## Demo说明
Spring Cloud 集成 Dubbo 的 demo
启动后访问:http://127.0.0.1:8091/test/abc
## 集成 Spring Cloud Gateway
[
Dubbo想要个网关怎么办?试试整合Spring Cloud Gateway
](
https://mp.weixin.qq.com/s/_idYl39i1eQejLLLlCW2sg
)
zlt-demo/dubbo-demo/pom.xml
0 → 100644
浏览文件 @
30b87fdb
<?xml 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.0
</modelVersion>
<parent>
<groupId>
com.zlt
</groupId>
<artifactId>
zlt-demo
</artifactId>
<version>
4.2.0
</version>
</parent>
<artifactId>
dubbo-demo
</artifactId>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
com.zlt
</groupId>
<artifactId>
zlt-log-spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-starter-dubbo
</artifactId>
</dependency>
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-nacos-discovery
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<executions>
<execution>
<goals>
<goal>
repackage
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
zlt-demo/dubbo-demo/src/main/java/org/zlt/WebDubboApp.java
0 → 100644
浏览文件 @
30b87fdb
package
org.zlt
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
/**
* @author zlt
* @date 2020/1/30
* <p>
* Blog: https://zlt2000.gitee.io
* Github: https://github.com/zlt2000
*/
@EnableDiscoveryClient
@SpringBootApplication
public
class
WebDubboApp
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
WebDubboApp
.
class
,
args
);
}
}
zlt-demo/dubbo-demo/src/main/java/org/zlt/controller/WebController.java
0 → 100644
浏览文件 @
30b87fdb
package
org.zlt.controller
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.zlt.service.RpcService
;
/**
* @author zlt
* @date 2020/6/26
* <p>
* Blog: https://zlt2000.gitee.io
* Github: https://github.com/zlt2000
*/
@Slf4j
@RestController
public
class
WebController
{
@DubboReference
private
RpcService
dubboService
;
@GetMapping
(
"/test/{p}"
)
public
String
test
(
@PathVariable
(
"p"
)
String
param
)
{
log
.
info
(
"==============WebController"
);
return
dubboService
.
test
(
param
);
}
}
zlt-demo/dubbo-demo/src/main/java/org/zlt/service/RpcService.java
0 → 100644
浏览文件 @
30b87fdb
package
org.zlt.service
;
/**
* @author zlt
* @date 2020/1/30
* <p>
* Blog: https://zlt2000.gitee.io
* Github: https://github.com/zlt2000
*/
public
interface
RpcService
{
String
test
(
String
param
);
}
zlt-demo/dubbo-demo/src/main/java/org/zlt/service/impl/RpcServiceImpl.java
0 → 100644
浏览文件 @
30b87fdb
package
org.zlt.service.impl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.zlt.service.RpcService
;
/**
* @author zlt
* @date 2020/1/30
* <p>
* Blog: https://zlt2000.gitee.io
* Github: https://github.com/zlt2000
*/
@Slf4j
@DubboService
(
protocol
=
"dubbo"
)
public
class
RpcServiceImpl
implements
RpcService
{
@Override
public
String
test
(
String
param
)
{
log
.
info
(
"==============RpcServiceImpl"
);
return
"dubbo service: "
+
param
;
}
}
zlt-demo/dubbo-demo/src/main/resources/application.yml
0 → 100644
浏览文件 @
30b87fdb
dubbo
:
scan
:
base-packages
:
org.zlt.service
protocols
:
dubbo
:
name
:
dubbo
port
:
-1
registry
:
address
:
spring-cloud://localhost
consumer
:
timeout
:
5000
check
:
false
retries
:
0
cloud
:
subscribed-services
:
zlt
:
trace
:
enable
:
true
\ No newline at end of file
zlt-demo/dubbo-demo/src/main/resources/bootstrap.yml
0 → 100644
浏览文件 @
30b87fdb
server
:
port
:
8091
spring
:
application
:
name
:
zlt-web-dubbo
main
:
allow-bean-definition-overriding
:
true
cloud
:
nacos
:
server-addr
:
192.168.28.130:8848
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录