日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
推薦Java五大微服務(wù)器及其代碼示例教程

微服務(wù)越來越多地用于開發(fā)領(lǐng)域,因為開發(fā)人員致力于創(chuàng)建更大,更復(fù)雜的應(yīng)用程序,這些應(yīng)用程序作為較小的服務(wù)組合而更好地開發(fā)和管理,可將工作在一起,實現(xiàn)更大的應(yīng)用程序范圍的功能。工具正在上升,以滿足使用逐塊方法思考和構(gòu)建應(yīng)用程序的需求,與同時考慮整個應(yīng)用程序相比。下面為大家講述一下Java五大微服務(wù)器,使用這些功能的好處以及相關(guān)的代碼示例。

什么是微服務(wù)

微服務(wù)是一種面向服務(wù)的架構(gòu)風格(Java開發(fā)人員最重要的技能之一),其中應(yīng)用程序被構(gòu)建為不同的小型服務(wù)而不是整個應(yīng)用程序的集合。您可以使用多個獨立的應(yīng)用程序來獨立運行,并且可以使用不同的編碼或編程語言來創(chuàng)建。大而復(fù)雜的應(yīng)用程序可以由可自行執(zhí)行的更簡單和獨立的程序組成。這些較小的程序組合在一起,以提供大型單片應(yīng)用程序的所有功能。

微服務(wù)捕獲用戶的業(yè)務(wù)場景,它通常由只有少數(shù)成員的工程團隊開發(fā),可以用任何編程語言編寫并且可以使用任何框架。每個涉及的程序都是獨立版本化,執(zhí)行和縮放。這些微服務(wù)器可以與其他微服務(wù)器交互,并且可以具有唯一的URL或名稱,同時即使遇到故障時始終可用和一致。

微服務(wù)的好處是什么?

使用微服務(wù)使得較小的應(yīng)用程序不依賴于相同的編碼語言,開發(fā)人員可以使用他們最熟悉的編程語言。這有助于開發(fā)人員以更低的成本和更少的錯誤更快地提出一個程序。靈活性和低成本也可以來自于將這些較小的程序重用于其他項目,從而使其更有效率。

Java的微服務(wù)框架示例

可用于開發(fā)Java的微服務(wù)框架,其中包括如下:

Spring Boot:這可能是***的Java微服務(wù)框架,它可以用于反轉(zhuǎn)控制,面向?qū)ο缶幊痰日Z言。

Jersey :開源框架支持Java中的JAX-RS API非常容易使用。

Swagger:幫助用戶記錄API,并為用戶提供開發(fā)門戶,允許用戶測試API。

用戶還可以考慮的其他內(nèi)容包括:Dropwizard,Ninja Web Framework,Play Framework,RestExpress,Restlet,Restx和Spark Framework。

如何使用Microservices With Spring Boot創(chuàng)建

Spring Boot使用戶可以通過嵌入式服務(wù)器將Java應(yīng)用程序與自己的應(yīng)用程序一起使用。不必再使用其他Java EE容器。

Spring Boot項目包括:

1) Spring IO平臺:版本化應(yīng)用程序的企業(yè)級分發(fā)

2) Spring框架:用于事務(wù)管理,依賴注入,數(shù)據(jù)訪問,消息傳遞和Web應(yīng)用程序

3) Spring Cloud:用于分布式系統(tǒng),用于構(gòu)建或部署您的微服務(wù)器

4) Spring數(shù)據(jù):對于與數(shù)據(jù)訪問相關(guān)的微服務(wù),無論是映射減少,關(guān)系還是非關(guān)系

5) Spring Batch:用于批處理作業(yè)等操作

6) Spring Security:用于授權(quán)和身份驗證支持

7) Spring REST文檔:用于記錄RESTful服務(wù)

8) Spring Social:用于連接社交媒體API

9) Spring Mobile:適用于移動網(wǎng)絡(luò)應(yīng)用

快速搭建Spring Boot框架,參考示例代碼:

 
 
 
 
  1. import org.springframework.boot.*; 
  2. import org.springframework.boot.autoconfigure.*; 
  3. import org.springframework.stereotype.*; 
  4. import org.springframework.web.bind.annotation.*; 
  5. @RestController 
  6. @EnableAutoConfiguration 
  7. public class Example { 
  8.     @RequestMapping("/") 
  9.     String home() { 
  10.         return "Hello World!"; 
  11.     } 
  12.     public static void main(String[] args) throws Exception { 
  13.         SpringApplication.run(Example.class, args); 
  14.     } 

Jersey

Jersey RESTful框架是開源的,它基于JAX-RS規(guī)范。Jersey應(yīng)用程序可以擴展現(xiàn)有的JAX-RS實現(xiàn)并添加功能和實用程序,使RESTful服務(wù)更簡單,并使客戶端開發(fā)變得更加輕松。

Jersey***的一點是它有很好的文檔,完善的案例。性能方面快捷并且路由簡單,參考示例代碼:

 
 
 
 
  1. package org.glassfish.jersey.examples.helloworld; 
  2. import javax.ws.rs.GET; 
  3. import javax.ws.rs.Path; 
  4. import javax.ws.rs.Produces; 
  5. @Path("helloworld") 
  6. public class HelloWorldResource { 
  7.     public static final String CLICHED_MESSAGE = "Hello World!"; 
  8.     @GET 
  9.     @Produces("text/plain") 
  10.     public String getHello() { 
  11.         return CLICHED_MESSAGE; 
  12.     } 

Jersey 非常容易與其他libraries一起使用,如Netty或Grizzly,支持異步連接不需要servlet容器,然而它有一個不依賴注入的實現(xiàn)。

Play Framework

Play Framework為用戶提供了使用Scala和Java構(gòu)建,創(chuàng)建和部署Web應(yīng)用程序的更加簡單的方法。Play Framework是RESTful應(yīng)用程序的理想選擇,需要您并行處理遠程調(diào)用。它也非常模塊化,支持異步。Play Framework也是所有微服務(wù)框架中***的社區(qū)之一。

參考示例代碼:

 
 
 
 
  1. package controllers; 
  2. import play.mvc.*; 
  3. public class Application extends Controller { 
  4.     public static void index() { 
  5.         render(); 
  6.     } 
  7.     public static void sayHello(String myName) { 
  8.         render(myName); 
  9.     } 

Restlet

Restlet幫助開發(fā)人員創(chuàng)建遵循RESTful架構(gòu)模式的快速和可擴展的Web API。它具有良好的路由和過濾功能,可用于Java SE/EE,OSGi,Google AppEngine(Google Compute部分),Android和其他主要平臺。

參考示例代碼:

 
 
 
 
  1. package firstSteps; 
  2. import org.restlet.resource.Get; 
  3. import org.restlet.resource.ServerResource; 
  4. /**  
  5.  * Resource which has only one representation.  
  6.  */ 
  7. public class HelloWorldResource extends ServerResource { 
  8.     @Get 
  9.     public String represent() { 
  10.         return "hello, world"; 
  11.     } 

DropWizard

DropWizard將成熟穩(wěn)定的Java庫集成在輕量級包中,可用于自己的應(yīng)用程序。它使用Jetty for HTTP,Jersey for REST和Jackson for JSON,以及Metrics,Guava,Logback,Hibernate Validator,Apache HttpClient,Liquibase,Mustache,Joda Time和Freemarker。

您可以使用Maven設(shè)置Dropwizard應(yīng)用程序在pom.xml文件中,使用***版本的DropWizard添加一個dropwizard.version屬性

 
 
 
 
  1.  
  2.     LATEST VERSION 
  3.  
  4.  
  5.  
  6.      
  7.         io.dropwizard 
  8.         dropwizard-core 
  9.         ${version} 
  10.      
  11.  

Maven項目設(shè)置完成后,可以創(chuàng)建配置類,應(yīng)用程序類,表示類,資源類或運行狀況檢查,還可以構(gòu)建Fat JARS,然后運行應(yīng)用程序。

在此鏈接中查看Dropwizard用戶手冊,GitHub地址:https://github.com/dropwizard/dropwizard,參考示例代碼:

 
 
 
 
  1. package com.example.helloworld; 
  2. import com.yammer.dropwizard.config.Configuration; 
  3. import com.fasterxml.jackson.annotation.JsonProperty; 
  4. import org.hibernate.validator.constraints.NotEmpty; 
  5. public class HelloWorldConfiguration extends Configuration { 
  6.     @NotEmpty 
  7.     @JsonProperty 
  8.     private String template; 
  9.     @NotEmpty 
  10.     @JsonProperty 
  11.     private String defaultName = "Stranger"; 
  12.     public String getTemplate() { 
  13.         return template; 
  14.     } 
  15.     public String getDefaultName() { 
  16.         return defaultName; 
  17.     } 

分享標題:推薦Java五大微服務(wù)器及其代碼示例教程
文章URL:http://m.5511xx.com/article/dpojoho.html