dropwizard微服务实践

Dropwizard是一个集合了多种组件的高性能微服务框架,包括Jetty、Jersey、Jackson、Metrics等。它提供了轻量级、快速部署和良好的代码结构等优势。本文详细介绍了Dropwizard的组成部分、优势以及如何通过步骤创建和运行一个Dropwizard服务,包括配置、应用、资源类的创建,以及健康检查和监控信息的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 Dropwizard是什么?
Dropwizard是一个跨越了库和框架的界限,他的目标是提供一个生产就绪的web应用程序所需的一切性能可靠的实现。
(一)它主要包含以下组件:
1、Jetty for HTTP
将Jetty的http库嵌入到项目中,不需要将我们的服务提交到复杂的服务器上。只需要一个main方法就可以启动服务。
2、Jersey for REST
使用Jersey来支持ResJul风格的web应用的。它允许你编写干净的,可以测试的类,这个类可以优雅的将http请求映射成为简单的Java对象
3、Jackson for JSON
主要使用Jackson进行JSON和Java对象转换,方便快速。
4、Metrics for metrics
在生产环境中,Metrics为你提供独一无二的洞察力,也就是说这个是用来监控Java进程的运行状态的
5、其他•
Logback,slf4j:日志类的库•
Jdbi:连接关系型数据库的工具类。
•JodaTime:时间处理工具类•
Freemarker and Mustache:用户界面模版•
Httpclient,JerseyClient:第三方接口通讯工具类。

(二)dropwizard优势:
1、更轻量,不依赖外部的容器环境。
2、部署简单,快速
3、约定优于配置的思想,省却了一些配置上的麻烦
4、代码结构良好,可读性强
5、快速的项目引导

二 dropwizard使用步骤
使用dropwizard搭建服务的步骤:
1、创建maven工程
2、创建配置类
3、创建应用类
4、创建资源类
5、注册资源类
6、build工程
7、运行Jar

三 demo实例
1 创建maven工程,pom引用dropwizard dependency
pom:

<dependency>
     <groupId>io.dropwizard</groupId>
     <artifactId>dropwizard-core</artifactId>
        <version>1.2.0-rc1</version>
</dependency>

编译配置:

 <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.3</version>
            <configuration>           <createDependencyReducedPom>true</createDependencyReducedPom>
                <filters>
                    <filter>
                        <artifact>*:*</artifact>
                        <excludes>
                            <exclude>META-INF/*.SF</exclude>
                            <exclude>META-INF/*.DSA</exclude>
                            <exclude>META-INF/*.RSA</exclude>
                        </excludes>
              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值