当前位置: 首页 > 科技观察

推荐Java五大微服务器及其代码示例教程_0

时间:2023-03-18 22:08:19 科技观察

推荐排名前五的Java微服务器及其代码示例教程更好的开发和管理可以协同工作以实现更大的应用程序范围的功能。工具正在兴起,以满足使用逐件方法思考和构建应用程序的需要,而不是同时考虑整个应用程序。下面我给大家介绍一下Java的五大微服务器,使用这些功能的好处,以及相关的代码示例。什么是微服务微服务是一种面向服务的架构风格(Java开发人员最重要的技能之一),其中应用程序被构建为不同小服务的集合,而不是整个应用程序。您可以拥有多个独立运行的独立应用程序,并且可以使用不同的编码或编程语言创建。大型和复杂的应用程序可以由独立执行的更简单和独立的程序组成。这些较小的程序组合在一起以提供大型单体应用程序的所有功能。微服务捕获用户的业务场景,通常由一个只有几个人的工程团队开发,可以用任何编程语言编写,可以使用任何框架。涉及的每个程序都独立进行版本控制、执行和扩展。这些微服务器可以与其他微服务器交互,可以拥有唯一的URL或名称,同时即使在出现故障时也始终可用且一致。微服务有什么好处?使用微服务使得更小的应用程序不依赖于相同的编码语言,开发人员可以使用他们最熟悉的编程语言。这有助于开发人员以更低的成本和更少的错误更快地提出程序。灵活性和低成本也可以来自于将这些较小的程序重新用于其他项目,从而提高它们的效率。Java的微服务框架实例可以用来开发Java的微服务框架,包括如下:SpringBoot:这可能是最好的Java微服务框架,可以用于控制反转,面向对象编程等语言。Jersey:Java中支持JAX-RSAPI的开源框架,非常易于使用。Swagger:帮助用户记录API,并为用户提供一个开发门户,允许用户测试API。用户可以考虑的其他工具包括:Dropwizard、NinjaWebFramework、PlayFramework、RestExpress、Restlet、Restx和SparkFramework。如何通过SpringBoot使用微服务创建SpringBoot使用户能够通过嵌入式服务器将Java应用程序与他们自己的应用程序一起使用。无需使用其他JavaEE容器。SpringBoot项目包括:1)SpringIOPlatform:版本化应用程序的企业级分发2)SpringFramework:用于事务管理、依赖注入、数据访问、消息传递和Web应用程序3)SpringCloud:用于分布式系统,用于构建或部署您的微服务4)SpringData:用于与数据访问相关的微服务,无论是map-reduce、关系还是非关系5)SpringBatch:用于批处理作业等操作6)SpringSecurity:用于授权和身份验证支持7)SpringREST文档:用于记录RESTful服务8)SpringSocial:用于连接社交媒体API9)SpringMobile:用于移动web应用快速构建SpringBoot框架,参考示例代码:importorg.springframework.boot.*;importorg.springframework.boot.autoconfigure.*;importorg.springframework.stereotype.*;importorg.springframework.web.bind.annotation.*;@RestController@EnableAutoConfigurationpublicclassExample{@RequestMapping("/")Stringhome(){return"HelloWorld!";}publicstaticvoidmain(String[]args)throwsException{SpringApplication.run(Example.class,args);}}JerseyJerseyRESTful框架是开源的,它基于关于JAX-RS规范。Jersey应用程序可以扩展现有的JAX-RS实现并添加功能和实用程序,从而使RESTful服务更简单,客户端开发更容易。Jersey最好的事情之一是它有很好的文档和完整的案例。性能快,路由简单,参考示例代码:packageorg.glassfish.jersey.examples.helloworld;importjavax.ws.rs.GET;importjavax.ws.rs.Path;importjavax.ws.rs.Produces;@Path("helloworld")publicclassHelloWorldResource{publicstaticfinalStringCLICHED_MESSAGE="HelloWorld!";@GET@Produces("text/plain")publicStringgetHello(){returnCLICHED_MESSAGE;}}Jersey非常容易与其他库一起使用,例如Netty或Grizzly,支持异步连接并且不需要servlet容器,但是它有一个不依赖于注入的实现。PlayFrameworkPlayFramework为用户提供了一种使用Scala和Java构建、创建和部署Web应用程序的更简单方法。PlayFramework非常适合需要您并行处理远程调用的RESTful应用程序。它也非常模块化并支持异步。PlayFramework还拥有所有微服务框架中最大的社区之一。参考示例代码:packagecontrollers;importplay.mvc.*;publicclassApplicationextendsController{publicstaticvoidindex(){render();}publicstaticvoidsayHello(StringmyName){render(myName);}}RestletRestlet帮助开发人员创建遵循RESTful架构模式Web的快速且可扩展的应用程序蜜蜂。它具有良好的路由和过滤能力,可用于JavaSE/EE、OSGi、GoogleAppEngine(GoogleCompute的一部分)、Android和其他主要平台。参考示例代码:packagefirstSteps;importorg.restlet.resource.Get;importorg.restlet.resource.ServerResource;/***Resourcewhichhasononlyonerepresentation.*/publicclassHelloWorldResourceextendsServerResource{@GetpublicStringrepresent(){return"hello,world";}}DropWizardDropWizard即将成熟并且稳定的Java库被集成在一个轻量级的包中,可以在自己的应用中使用。它使用用于HTTP的Jetty、用于REST的Jersey和用于JSON的Jackson,以及Metrics、Guava、Logback、HibernateValidator、ApacheHttpClient、Liquibase、Mustache、JodaTime和Freemarker。您可以使用Maven设置Dropwizard应用程序在pom.xml文件中,添加一个dropwizard.version属性LATESTVERSIONio.dropwizarddropwizard-core${version}/dependencies>曾经的Maven项目设置好后,你可以创建配置类、应用类、展示类、资源类或健康检查,你可以构建FatJARS,然后运行应用程序。在这个链接查看Dropwizard用户手册,GitHub地址:https://github.com/dropwizard/dropwizard,参考示例代码:packagecom.example.helloworld;importcom.yammer.dropwizard.config.Configuration;importcom.fasterxml。杰克逊。annotation.JsonProperty;importorg.hibernate.validator.constraints.NotEmpty;publicclassHelloWorldConfigurationextendsConfiguration{@NotEmpty@JsonPropertyprivateStringtemplate;@NotEmpty@JsonPropertyprivateStringdefaultName="Stranger";publicStringgetTemplate(){returnNametemplate;}public}StringgetDefault