10回の面接は春クラウド+春ブーツ質問に直面したマイクロサービスをお願いしたいです

はじめに
マイクロサービスを利用するのはなぜ?
インターネットの急速な発展に伴い、企業は、インターネットを使用しています。インターネットは人々がフォーム×××を分離することはできません形作ってきました。より多くのユーザー、そしてより多くの複雑なビジネスシナリオとして。
従来の単一のアーキテクチャは、メンテナンスコストはマイクロサービスの開発動向を運転している上げる、下げる、スケーラビリティ、コードの可読性と保守性、インターネット技術の開発の要件を満たすことが困難でした。
10回の面接は春クラウド+春ブーツ質問に直面したマイクロサービスをお願いしたいです

これはマイクロサービスフレームワーク

ダボ、アリババのコアサービスのガバナンスのフレームワーク、そして広く様々なメンバー局アリババグループの中で使用されている
ポイント。次のような近年のオープンソースコミュニティアリババへの貢献、国内外で説得力のある、
JStormは、Apacheに寄贈し、顔を十分に競合する中国のインターネット用のApache財団に入社し、A作る
人にアリババを目は電気の供給業者からアップグレードされた技術会社まであります。
春の雲は、名前から我々はそれが春のソース、春の強力なコミュニティの産物であることを知ることができる
大きな裏書は、間違いなく最も影響力のある事業組織のJava、春のソースに加えて、存在している
ロッドとそのNetfix強力なバッキングと技術的な出力。これはマイクロサービスアーキテクチャのオープンソースのNetflixのスイート全体が
春の雲の中核。

RPCの原則の実現についてのトーク

まず、ネットワーク接続モジュールは、接続の確立、管理、およびメッセージの送信を担当する通信を処理する必要があります。第二に、コーディングの必要性
復号モジュールは、ネットワーク通信をバイトコードとして送信され、我々は、オブジェクトのシリアライズとデシリアライズ使用
のを。残りはクライアントであり、サーバ側のサーバ側部分は、オープンサービス・インターフェースに暴露され、顧客サービスの呼び出し
インタフェースを実装するプロキシサービスを、プロキシの実装では、結果が待つ、その後、データを収集するための責任をエンコードしてサーバに送信している
返すこと。

ダボの原則の実現についてのトーク

ダボは、RPCフレームワークとして、達成される効果は、単にローカルコールのようなリモート・メソッドを呼び出すことです。どのように行うには
、それを?メソッド名、パラメータ、戻り値を含む、記載されているリモートメソッドに対してローカルであり、リモートダボに存在することであり
、同じインターフェースを使用するために、次に、ネットワーク通信のためにパッケージされなければならないが、発呼者の詳細について通信されます完全に
目に見える、行うための通信ネットワークは、(メッセージ・フォーマットは、単にある特定のプロパティプロトコルを介してメソッドを呼び出すことである
式)サーバに送信され、コールの解析情報に応じてサーバ・プロトコル、それぞれの方法。プロセスに返され
、バックプロトコルによってクライアントに渡された値と、再解析するクライアントを、同期および非同期転送に分けることができる通話モードを呼び出す
使用、単にこの基本的なプロセスに
10回の面接は春クラウド+春ブーツ質問に直面したマイクロサービスをお願いしたいです

そこに春ブーツ利点は何ですか?

Spring Boot 的优点有:
减少开发,测试时间和努力。
使用 JavaConfig 有助于避免使用 XML。
避免大量的 Maven 导入和各种版本冲突。
提供意见发展方法。
通过提供默认值快速开始开发。
没有单独的 Web 服务器需要。这意味着你不再需要启动 Tomcat,Glassfish 或其他任何东
西。
需要更少的配置 因为没有 web.xml 文件。只需添加用@ Configuration 注释的类,然后添加
用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。您甚至可以将
@Autowired 添加到 bean 方法中,以使 Spring 自动装入需要的依赖关系中。
基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用程序:-
Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring 将在
(application{environment} .properties)中加载后续的应用程序属性文件。
如何实现 Spring Boot 应用程序的安全性?
为了实现 Spring Boot 的安全性,我们使用 spring-boot-starter-security 依赖项,并且必须添
加安全配置。它只需要很少的代码。配置类将必须扩展 WebSecurityConfigurerAdapter 并覆
盖其方法。
如何集成 Spring Boot 和 ActiveMQ?
对于集成 Spring Boot 和 ActiveMQ,我们使用
spring-boot-starter-activemq
依赖关系。 它只需要很少的配置,并且不需要样板代码。
什么是 Swagger?你用 Spring Boot 实现了它吗?
Swagger 广泛用于可视化 API,使用 Swagger UI 为前端开发人员提供在线沙箱。Swagger 是
用于生成 RESTful Web 服务的可视化表示的工具,规范和完整框架实现。它使文档能够以
与服务器相同的速度更新。当通过 Swagger 正确定义时,消费者可以使用最少量的实现逻
辑来理解远程服务并与其进行交互。因此,Swagger 消除了调用服务时的猜测。
10回の面接は春クラウド+春ブーツ質問に直面したマイクロサービスをお願いしたいです

使用 Spring Cloud 有什么优势?

使用 Spring Boot 开发分布式微服务时,我们面临以下问题
与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。
服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个服务目录,在该目录中注册服务,然后能够查找并连接到该目录中的服务。
冗余-分布式系统中的冗余问题。
负载平衡 --负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路,中央处理单元,或磁盘驱动器的分布。
性能-问题 由于各种运营开销导致的性能问题。
部署复杂性-Devops 技能的要求。

负载平衡的意义什么?

コンピューティングでは、ロード・バランシングは、コンピュータクラスタ、ネットワークリンクを計算する種々の両端のコンピュータを向上させることができ、中央処理装置またはディスクドライブは、
リソースの配分をワークロード。、スループットを最大化、リソース使用率を最適化し、応答時間を最小化し、任意の単一のリソースを避けるために、ロード・バランシング
の過負荷を。負荷分散構成要素の複数ではなく単一の構成要素は、冗長性を介して、信頼性と可用性を向上させるために使用されてもよいです。多くの場合、ロード・バランシングは、マルチレイヤスイッチまたはドメインネームシステムサーバプロセスとして、特別なソフトウェアやハードウェアを必要とします。
Netflixの装うとは何ですか?それはどのような利点ですか?
装うは対象レトロフィット、JAXRS-2.0とWebSocketを触発するJavaクライアントバインダーです。装うの最初の目標は
関係なく、その安定性の、APIをhttpに制約の複雑さの分母を統一することです。従業員、消費者のケースでは、
REST REST公共サービスを使用して従業員の生産テンプレートを使用しています。
しかし、我々は、次の手順を実行するために多くのコードを記述する必要があり
、負荷分散のためのリボンを使用しています。
サービスへのアクセス、および基本的なURLへのアクセスの例。
RESTサービスを使用するためのテンプレートを使用してください。上記のコードは次の通りであります

@Controller
public class ConsumerControllerClient {

@Autowired
private LoadBalancerClient loadBalancer;

public void getEmployee() throws RestClientException, IOException {

ServiceInstance serviceInstance=loadBalancer.choose("employee-producer");

 System.out.println(serviceInstance.getUri());

 String baseUrl=serviceInstance.getUri().toString();

 baseUrl=baseUrl+"/employee";

RestTemplate restTemplate = new RestTemplate();
 ResponseEntity<String> response=null;
try{
 response=restTemplate.exchange(baseUrl,
 HttpMethod.GET, getHeaders(),String.class);
}catch (Exception ex)
 {
 System.out.println(ex);
}
 System.out.println(response.getBody());
}

コードの前に、このようにNullPointer機会、最適ではないような例外があります。私たちは、呼び出しが簡単かつきれいにするNetflixのふりを使用する方法について説明します。Netflixのリボンクラスパスの依存性がある場合は、装うのデフォルトは、負荷分散のために責任を負うことになります。

私は、支援への感謝を賞賛のような記事のポイントを覚えています!

おすすめ

転載: blog.51cto.com/14442094/2423433