1. 程式人生 > >ISTIO SERVICE MESH – Part 3

ISTIO SERVICE MESH – Part 3

Introduction

In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, where & when needed. This article has been divided into multiple parts.

In part 3, will be focusing on quick comparison between Spring Cloud and Istio service mesh.

In part 4, will be focusing on key benefits of Istio service mesh like how Istio helps developer, operators, etc.

In part 5, will be focusing on additional features of Istio service mesh

Comparison between Istio and Spring Cloud Netflix
Why do we need to consider Istio when there is already Netflix OSS framework. Let’s see short comparison between Istio and Spring Cloud Netflix.

Feature Spring Cloud Netflix Istio
Platform Spring cloud will work well in any distributed environment, including the developer’s own laptop, bare metal data centres, and managed platforms such as Cloud Foundry. Istio is designed and built to be platform-independent.
Note: For our pre0.2 release, however, Istio only supports environments running Kubernetes v1.5 or greater.
Language Services should be built based on JVM (Spring Boot Framework) Services can be developed using any language like JVM Based or Non-JVM Based. Supports Polyglot architecture.
Request Routing Spring Cloud Zuul is a JVM based router, it helps for canary testing, dynamic routing, static response handling, active/active traffic management.
Zuul’s rule engine allows rules and filters to be written in essentially any JVM language, with built in support for Java and Groovy.
Also, Spring Cloud Ribbon can be used as client load balancer to control traffic.
The rules should be configured in bootstrap or application properties file at during deployment time.
Istio provides a simple Domain-specific language (DSL) to control service calls. The DSL (Yaml) allows the operator to configure service-level properties such as circuit breakers, timeouts, retries, as well as set up common continuous deployment tasks such as canary rollouts, A/B testing, staged rollouts with %-based traffic splits, etc.
For example, a simple rule to send 100% of incoming traffic for a “reviews” service to version “v1” can be described using the DSL Rules.
The new rules can be created/existing rules can be updated at runtime itself by operator, no application code change or application deployment required.
Is Application code change required Yes, typically simple annotations to be added in application code to incorporate spring cloud framework. Also, it requires a re-deployment if any changes in application or bootstrap properties. No, there is no need to change the application, after Istio injected into application deployment.
Load balancing Spring Cloud Ribbon can be used as client load balancer to control traffic. Envoy distributes the traffic across instances in the load balancing pool. More sophisticated load balancing can be incorporated by creating routing rules.
Service Registration and Service Discovery Spring Cloud supports Self-Registration pattern. A service instance is responsible for registering itself with the service registry.
Spring Cloud Eureka, Spring Cloud Consul and Spring Cloud Zookeeper, provides service discovery.
Istio supports 3rd Party Registration pattern. The advantage is no need to change the application code to perform self-registration.
Meaning, Istio assumes the presence of a service registry to keep track of the pods/VMs of a service in the application. It also assumes that new instances of a service are automatically registered with the service registry and unhealthy instances are automatically removed. Platforms such as Kubernetes, Mesos already provide such functionality for container-based applications.
Service Mesh View
The load balancing (Ribbon), circuit breaker (Hystrix), metrics (Promethus) and tracing (Zipkin), all these capabilities should be handled as separate microservices along with business services.

The load balancing, circuit breaker, metrics collections and tracing, all these capabilities handled by Istio components.


Refer FAQ for clarifications on license, support, roadmap, etc.

In part 4, we will focus on benefits of Istio service mesh like how Istio helps to developer, operators, etc

References

相關推薦

ISTIO SERVICE MESHPart 3

Introduction In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, whe

ISTIO SERVICE MESHPart 5

Introduction In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, wher

ISTIO SERVICE MESHPart 2

Introduction In cloud era, many organizations are starting journey towards adopting microservice architecture to enable organizations to grow fast, whe

Introducing Istio Service Mesh for Microservices

Meet Istio “Istio is an implementation of a service mesh. A service mesh is the connective tissue between your services that adds additional capa

企業服務行業如何試水 Istio | Service Mesh Meetup 分享實錄

崔秀龍,HPE 軟體分析師,Kubernetes 權威指南作者之一,Kubernetes、Istio 專案成員。本文根據崔秀龍在 2019 廣州 Service Mesh Meetup#5 分享整理,完整的分享 PPT 獲取方式見文章底部。本文內容收錄在崔秀龍的新書:《深入淺出 Istio - Servi

Benefits of using the Istio service mesh

Distinguished Engineer Dan Berg details the top benefits of using the Istio service mesh in production from KubeCon 2018 in Stockholm. He notes that ma

ISTIO SERVICE MESH

Abstract Presenting a series of articles that provides an overview of Istio Service Mesh, why should we use, its capabilities, how to setup and how to

深入淺出Istio:Service mesh快速入門與實踐-讀書筆記(By GisonWin)

什麽 分配 mem ces 轉換成 初始化 virt 會有 ilo 01 服務網格歷史 (以後補充) 02 服務網格的基本特性 連接 微服務錯綜復雜,要完成其業務目標,連接問題是首要問題.連接存在於所有服務的整個lifcecycle中,用於維持服務的運行. 安全

微服務之旅:從Netflix OSS到 Istio Service Mesh

在這篇文章中,我們從Netflix開始,通過Envoy和Istio的崛起,快速瀏覽微服務的歷史. 微服務是具有邊界上下文的鬆散耦合服務,使您能夠獨立開發,部署和擴充套件服務。它還可以定義為構建獨立開發和部署的分散式系統的架構模式。 在微服務架構中處理服務之間的通訊是一項挑戰,因為它們需要在不可靠的網路中

阿裏雲Kubernetes Service Mesh實踐進行時(1): Istio初體驗

我們 key works code sch 代碼 部署 text 過程 摘要: 本篇文章是系列中的第一篇,主要講述利用阿裏雲Kubernetes容器服務,快速搭建一套用於連接、管理以及安全化微服務的開放平臺Istio,為應用引入和配置多個相關服務。 概述 Istio是一個用

Service Mesh istio 部署在kubernetes v1.11.2 簡單記錄

系統 [[email protected] istio-1.1.0.snapshot.1]# uname -a Linux master-47-35 3.10.0-327.4.5.el7.x86_64 #1 SMP Mon Jan 25 22:07:14 UTC 2016

Service Mesh深度學習系列|istio原始碼分析之pilot

本文分析的istio程式碼版本為0.8.0,commit為0cd8d67,commit時間為2018年6月18日。 上面是官方關於pilot的架構圖,因為是old_pilot_repo目錄下,可能與最新架構有出入,僅供參考。所謂的pilot包含兩個元件:pilot-agent和pilot-d

Managing service mesh on Kubernetes with Istio

Managing service mesh on Kubernetes with IstioAs the complexity of microservice applications grows, it becomes extremely difficult to track and manage inte

阿里雲Kubernetes Service Mesh實踐進行時(1): Istio初體驗

摘要: 本篇文章是系列中的第一篇,主要講述利用阿里雲Kubernetes容器服務,快速搭建一套用於連線、管理以及安全化微服務的開放平臺Istio,為應用引入和配置多個相關服務。 概述 Istio是一個用於連線/管理以及安全化微服務的開放平臺,提供了一種簡單的方式用於建

Lesson 2 Building your first web page: Part 3

create should bsp str process .html anything step rule Time to build your first HTML page by hand I could go on with more theory and sen

多線程編程-- part 3 多線程同步->synchronized關鍵字

靜態方法 mage rri pri alt image col ring 釋放 多線程同時訪問一個資源,可以會產生不可預料的結果,所以為這個資源加鎖,訪問資源的第一個線程為其加鎖後,其他線程便不能在使用那個資源,直到鎖被解除。 舉個例子: 存款1000元

JSP復習(part 3

響應頭 utf 瀏覽器 聲明 數據 thead code 直接 web服務器 3.4.4 request對象提供了一些用來獲取客戶信息的方法,利用這些方法,可以獲取客戶端的IP地址 協議等有關信息 3.5 request對象和response對象相對應,用於

深度學習系列 Part(3)

舉例 call 連接 update 裏的 就會 1.5 upd layers 這是《GPU學習深度學習》系列文章的第三篇,主要是接著上一講提到的如何自己構建深度神經網絡框架中的功能模塊,進一步詳細介紹 Tensorflow 中 Keras 工具包提供的幾種深度神經網絡模塊。

Service Mesh對企業安全而言意味著什麽?

Service Mesh 企業安全 你聽說過Service Mesh(服務網格)嗎? 我相信你聽說過。Service Mesh正成為容器生態圈愈發重要的一部分。 本文將簡要概述Service Mesh的作用,並深入探討它們對於企業安全性的意義。Service Meshes是什麽?它為何如此重要?連接問

深入解讀Service Mesh背後的技術細節

調用 數據模型 什麽 比較 正常 應用 ffi gcs dsl 本文由 網易雲 發布。 作者:劉超,網易雲首席解決方案架構師 在Kubernetes稱為容器編排的標準之後,Service Mesh開始火了起來,但是很多文章講概念的多,講技術細節的少,所以專門寫一篇