# Dubbo Spring Boot Production-Ready
`dubbo-spring-boot-actuator` provides production-ready features (e.g. [health checks](#health-checks), [endpoints](#endpoints), and [externalized configuration](#externalized-configuration)).
## Content
1. [Main Content](https://github.com/apache/dubbo-spring-boot-project)
2. [Integrate with Maven](#integrate-with-maven)
3. [Health Checks](#health-checks)
4. [Endpoints](#endpoints)
5. [Externalized Configuration](#externalized-configuration)
## Integrate with Maven
You can introduce the latest `dubbo-spring-boot-actuator` to your project by adding the following dependency to your pom.xml
```xml
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-actuator</artifactId>
<version>2.7.4.1</version>
</dependency>
```
If your project failed to resolve the dependency, try to add the following repository:
```xml
<repositories>
<repository>
<id>apache.snapshots.https</id>
<name>Apache Development Snapshot Repository</name>
<url>https://repository.apache.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
```
## Health Checks
`dubbo-spring-boot-actuator` supports the standard Spring Boot `HealthIndicator` as a production-ready feature , which will be aggregated into Spring Boot's `Health` and exported on `HealthEndpoint` that works MVC (Spring Web MVC) and JMX (Java Management Extensions) both if they are available.
### Web Endpoint : `/health`
Suppose a Spring Boot Web application did not specify `management.server.port`, you can access http://localhost:8080/actuator/health via Web Client and will get a response with JSON format is like below :
```json
{
"status": "UP",
"dubbo": {
"status": "UP",
"memory": {
"source": "management.health.dubbo.status.defaults",
"status": {
"level": "OK",
"message": "max:3641M,total:383M,used:92M,free:291M",
"description": null
}
},
"load": {
"source": "management.health.dubbo.status.extras",
"status": {
"level": "OK",
"message": "load:1.73583984375,cpu:8",
"description": null
}
},
"threadpool": {
"source": "management.health.dubbo.status.extras",
"status": {
"level": "OK",
"message": "Pool status:OK, max:200, core:200, largest:0, active:0, task:0, service port: 12345",
"description": null
}
},
"server": {
"source": "dubbo@ProtocolConfig.getStatus()",
"status": {
"level": "OK",
"message": "/192.168.1.103:12345(clients:0)",
"description": null
}
}
}
// ignore others
}
```
`memory`, `load`, `threadpool` and `server` are Dubbo's build-in `StatusChecker`s in above example.
Dubbo allows the application to extend `StatusChecker`'s SPI.
Default , `memory` and `load` will be added into Dubbo's `HealthIndicator` , it could be overridden by
externalized configuration [`StatusChecker`'s defaults](#statuschecker-defaults).
### JMX Endpoint : `Health`
`Health` is a JMX (Java Management Extensions) Endpoint with ObjectName `org.springframework.boot:type=Endpoint,name=Health` , it can be managed by JMX agent ,e.g. JDK tools : `jconsole` and so on.
![](JMX_HealthEndpoint.png)
### Build-in `StatusChecker`s
`META-INF/dubbo/internal/org.apache.dubbo.common.status.StatusChecker` declares Build-in `StatusChecker`s as follow :
```properties
registry=org.apache.dubbo.registry.status.RegistryStatusChecker
spring=org.apache.dubbo.config.spring.status.SpringStatusChecker
datasource=org.apache.dubbo.config.spring.status.DataSourceStatusChecker
memory=org.apache.dubbo.common.status.support.MemoryStatusChecker
load=org.apache.dubbo.common.status.support.LoadStatusChecker
server=org.apache.dubbo.rpc.protocol.dubbo.status.ServerStatusChecker
threadpool=org.apache.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusChecker
```
The property key that is name of `StatusChecker` can be a valid value of `management.health.dubbo.status.*` in externalized configuration.
## Endpoints
Actuator endpoint `dubbo` supports Actuator Endpoints :
| ID | Enabled | HTTP URI | HTTP Method | Description | Content Type |
| ------------------- | ----------- | ----------------------------------- | ------------------ | ------------------ | ------------------ |
| `dubbo` | `true` | `/actuator/dubbo` | `GET` | Exposes Dubbo's meta data | `application/json` |
| `dubboproperties` | `true` | `/actuator/dubbo/properties` | `GET` | Exposes all Dubbo's Properties | `application/json` |
| `dubboservices` | `false` | `/actuator/dubbo/services` | `GET` | Exposes all Dubbo's `ServiceBean` | `application/json` |
| `dubboreferences` | `false` | `/actuator/dubbo/references` | `GET` | Exposes all Dubbo's `ReferenceBean` | `application/json` |
| `dubboconfigs` | `true` | `/actuator/dubbo/configs` | `GET` | Exposes all Dubbo's `*Config` | `application/json` |
| `dubboshutdown` | `false` | `/actuator/dubbo/shutdown` | `POST` | Shutdown Dubbo services | `application/json` |
### Web Endpoints
#### `/actuator/dubbo`
`/dubbo` exposes Dubbo's meta data :
```json
{
"timestamp": 1516623290166,
"versions": {
"dubbo-spring-boot": "2.7.5",
"dubbo": "2.7.5"
},
"urls": {
"dubbo": "https://github.com/apache/dubbo/",
"google-group": "dev@dubbo.apache.org",
"github": "https://github.com/apache/dubbo-spring-boot-project",
"issues": "https://github.com/apache/dubbo-spring-boot-project/issues",
"git": "https://github.com/apache/dubbo-spring-boot-project.git"
}
}
```
###
#### `/actuator/dubbo/properties`
`/actuator/dubbo/properties` exposes all Dubbo's Properties from Spring Boot Externalized Configuration (a.k.a `PropertySources`) :
```json
{
"dubbo.application.id": "dubbo-provider-demo",
"dubbo.application.name": "dubbo-provider-demo",
"dubbo.application.qos-enable": "false",
"dubbo.application.qos-port": "33333",
"dubbo.protocol.id": "dubbo",
"dubbo.protocol.name": "dubbo",
"dubbo.protocol.port": "12345",
"dubbo.registry.address": "N/A",
"dubbo.registry.id": "my-registry",
"dubbo.scan.basePackages": "org.apache.dubbo.spring.boot.sample.provider.service"
}
```
The structure of JSON is simple Key-Value format , the key is property name as and the value is property value.
#### `/actuator/dubbo/services`
`/actuator/dubbo/services` exposes all Dubbo's `ServiceBean` that are declared via `<dubbo:service/>` or `@Service` present in Spring `ApplicationContext` :
```json
{
"ServiceBean@org.apache.dubbo.spring.boot.sample.api.DemoService#defaultDemoService": {
"accesslog": null,
"actives": null,
"cache": null,
"callbacks": null,
"class": "org.apache.dubbo.config.spring.ServiceBean",
"cluster": null,
"connections": null,
"delay": null,
"document": null,
"executes": null,
"export": null,
"exported": true,
"filter": "",
"generic": "false",
"group": null,
"id": "org.apache.dubbo.spring.boot.sample.api.DemoService",
"interface": "org.apache.dubbo.spring.boot.sample.api.DemoService",
"interfaceClass": "org.apache.dubbo.spring.boot.sample.api.DemoService",
"layer": null,
"listener": "",
"loadbalance": null,
"local": null,
"merger": null,
"mock": null,
"onconnect": null,
"ondisconnect": null,
"owner": null,
"path": "org.apache.dubbo.spring.boot.sample.api.DemoService",
"proxy": null,
"retries": null,
"scope": null,
"sent": null,
"stub": null,
"timeout": null,
"token": null,
"unexported": false,
"uniqueS
没有合适的资源?快使用搜索试试~ 我知道了~
dubbo-dubbo-3.2.6.tar.gz
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 153 浏览量
2023-09-15
18:15:21
上传
评论
收藏 2.58MB GZ 举报
温馨提示
共2000个文件
java:1796个
xml:146个
properties:40个
dubbo-dubbo-3.2.6.tar.gz
资源推荐
资源详情
资源评论
收起资源包目录
dubbo-dubbo-3.2.6.tar.gz (2000个子文件)
GooglePB.java 144KB
ReferenceConfigTest.java 60KB
DefaultApplicationDeployer.java 53KB
RegistryProtocol.java 52KB
ConfigTest.java 48KB
ServiceConfig.java 44KB
ServiceInstancesChangedListenerWithoutEmptyProtectTest.java 41KB
ServiceInstancesChangedListenerTest.java 41KB
MultiInstanceTest.java 40KB
AbstractConfigTest.java 40KB
ConfigValidationUtils.java 36KB
ReferenceConfig.java 34KB
ServiceDiscoveryRegistryDirectory.java 33KB
NacosNamingServiceWrapperTest.java 33KB
RegistryDirectory.java 32KB
TriHttp2RemoteFlowController.java 32KB
DubboMergingDigest.java 31KB
MetadataInfo.java 31KB
JaxrsRestProtocolTest.java 31KB
DubboBeanDefinitionParser.java 31KB
NacosRegistry.java 31KB
DubboBootstrap.java 30KB
Hessian2SerializationTest.java 28KB
ServiceAnnotationPostProcessor.java 28KB
ReferenceAnnotationBeanPostProcessor.java 28KB
FastJson2SerializationTest.java 27KB
ServiceConfigTest.java 27KB
AbstractRegistry.java 26KB
DubboProtocol.java 26KB
RegistryProtocolTest.java 26KB
RpcContext.java 25KB
AnnotationUtils.java 25KB
ServiceInstancesChangedListener.java 24KB
AbstractMetadataReport.java 24KB
RpcUtilsTest.java 23KB
RpcInvocation.java 23KB
AbstractRegistryTest.java 22KB
AbstractMetadataReportTest.java 22KB
InstanceAddressURL.java 22KB
DefaultModuleDeployer.java 21KB
JavaConfigReferenceBeanTest.java 21KB
TypeUtilsTest.java 21KB
MigrationInvoker.java 21KB
NacosMetadataReport.java 21KB
MethodConfigTest.java 21KB
DubboTelnetDecodeTest.java 21KB
TripleClientStream.java 20KB
NacosNamingServiceWrapper.java 20KB
ReflectionPackableMethod.java 20KB
TripleServerStream.java 20KB
ServiceDiscoveryRegistry.java 19KB
CallbackServiceCodec.java 19KB
AbstractServiceRestMetadataResolver.java 19KB
CacheableFailbackRegistry.java 19KB
SingleRegistryCenterDubboProtocolIntegrationTest.java 19KB
AbstractAnnotationBeanPostProcessor.java 18KB
ReferenceKeyTest.java 18KB
AbstractServiceDiscovery.java 18KB
ZookeeperRegistry.java 18KB
GenericFilter.java 18KB
FailbackRegistry.java 17KB
MetricsFilterTest.java 17KB
RpcServiceContext.java 17KB
TripleInvoker.java 17KB
ReferenceAnnotationBeanPostProcessorTest.java 17KB
ZookeeperMetadataReportTest.java 16KB
MulticastRegistry.java 16KB
AggregateMetricsCollectorTest.java 16KB
AbstractServerCall.java 16KB
DubboBootstrapTest.java 16KB
DubboCodec.java 16KB
ReferenceBean.java 16KB
SpringMvcRestProtocolTest.java 16KB
MultipleRegistry.java 15KB
TypeUtils.java 15KB
JValidatorNew.java 15KB
JValidator.java 15KB
MigrationInvokerTest.java 15KB
AggregateMetricsCollector.java 15KB
ProtocolConfigTest.java 15KB
MessageFormatter.java 14KB
ArgumentCallbackTest.java 14KB
MetadataMetricsCollectorTest.java 14KB
ImplicitCallBackTest.java 14KB
RpcContextTest.java 14KB
TripleCustomerProtocolWapper.java 14KB
InjvmInvoker.java 14KB
NettyConnectionClient.java 14KB
ZKTools.java 14KB
AsyncRpcResult.java 14KB
NacosRegistryTest.java 14KB
ApplicationConfigTest.java 14KB
AbstractServiceRestMetadataResolver.java 14KB
DubboProtocolTest.java 14KB
RpcUtils.java 13KB
ReferenceBeanSupport.java 13KB
RegistryMetricsCollectorTest.java 13KB
DynamicDirectory.java 13KB
DubboContainerResponseContextImpl.java 13KB
ServiceDiscoveryRegistryTest.java 13KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
YunFeiDong
- 粉丝: 33
- 资源: 3849
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- YOLOV4-TINY权重文件
- 以下是一个使用贪心算法解决多机调度问题的基本步骤0.txt
- 基于大数据的房产估价是近年来随着技术的发展而兴起的一种新型估价方法.txt
- 企业供应链管理系统v3.rar
- 富芮坤FR8016HA蓝牙开发板使用手册+硬件PCB图+封装库+DEMO演示软件源代码.zip
- 基于YOLOv7的芯片表面缺陷检测系统
- 京东物流 数字化供应链综合研究报告2018.rar
- 基于YOLOv7的植物虫害识别&防治系统
- 2000.1-2023.8中国经济政策不确定性指数月度数据.xlsx
- Screenshot_2024-04-21-20-42-15-443_com.tencent.mm.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功