当前位置:网站首页>(1) ASP.NET Introduction to core3.1 Ocelot
(1) ASP.NET Introduction to core3.1 Ocelot
2020-11-06 01:32:00 【itread01】
1. Introduction
Ocelot It was originally designed to be associated with .NET Core Used together , It's a .NET API Gate runner , As usage oriented .NET Perform microservices / Service oriented architecture requires a unified system entry point , That is, when the client (Web Site , Cell phones APP) Etc Web API When ,Ocelot As a unified entry point, it will be distributed to the corresponding API Go to the website ( Address ). and Ocelot It also integrates a lot of features , Example routing , Certification , Authorization , Speed limit and other function points ,Ocelot The official website also suggests that authentication should be followed by authentication (IdentityServer4) Use it together , Easy integration of bearer tokens . You can go to the official website for details (https://ocelot.readthedocs.io/en/latest/introduction/bigpicture.html) Get to know .
And examine Ocelot Source code , We will see Ocelot It's a bunch of intermediary software in a specific order (Middleware) The pipes that make up .
Ocelot Will HttpRequest The object operates to the state specified by its configuration , Until it reaches the request builder mediation Software , In mediation software, it creates a HttpRequestMessage thing , This object is used to make requests to downstream Services . The intermediary request is made by the software Ocelot The last thing in the pipeline . It doesn't call the next intermediary . Responses from downstream services are stored in the repository for each request scope , And ask to return Ocelot When the pipeline is retrieved . There is a piece of intermediary software that will HttpResponseMessage It's mapped to HttpResponse thing , It is then returned to the client .
2.Ocelot To configure
According to the official website ,Ocelot There are five configurations :
2.1 Basic integration (Basic Implementation)
When a client visits a downstream service site , Will be unified through Ocelot Gate runner ,Ocelot Gate runner Host The host will first read configuration.json Configuration information , According to the configuration file to find the corresponding downstream service site and return the processing results to the client . This process can be called routing addressing .
2.2 Integrate IdentityServer(With IdentityServer)
When the service site involves authentication and Authorization , It can be done through Ocelot Integrated on the gate IdentityServer, When a client visits a downstream service site , Will pass first IdentityServer After authentication and authorization, they are distributed to downstream service sites .
2.3 Multiple gateways are clustered (Multiple Instances)
Single Ocelot The gate is dangerous , If this gateway goes down , All downstream service sites will be inaccessible , It is impossible to achieve high availability in this way . To solve this problem , You can deploy multiple Ocelot Gateway clustering , and Ocelot Also integrated with load balancer .
2.4 Integrate Consul Service discovery (With Consul)
Check the official website file load balancing column , We know Ocelot Simple load function has been supported , When there are multiple service nodes in the downstream site ,Ocelot Can take on the role of load balancing . But it doesn't provide health checks , The service registration can only be completed by manually adding in the configuration file . It's not flexible enough and there are risks to some extent . At this time we can use Consul To do service discovery , It can relate to Ocelot Perfect combination .
2.5 Integrate Service Fabric(With Service Fabric)
If you are in Service Fabric Central government has a service , The naming service is usually used to access them .
3. Summary
Ocelot The gateway is the system's only access to the outside world , It's like the company's doorman is responsible for addressing 、 Access restrictions 、 Safety check 、 Location guidance and other functions . It also provides routing , Authentication 、 Monitoring 、 Load balancing 、 Get it 、 Request fragmentation and management 、 Static response processing and other functions .Ocelot The key point of the gateway is , All clients and consumers access microservices through a unified gateway , All non business functions are handled at the gateway level . Usually the gateway also provides REST/HTTP Access to API, The server registers and manages services through the gateway . After that chapter , I will continue to base on GitHub Contributors open source projects Ocelot Demo The example describes its functions .Ocelot Demo Address https://github.com/catcherwong-archive/APIGatewayDemo.
References :
Ocelot Official website
版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
边栏推荐
- I think it is necessary to write a general idempotent component
- Custom function form of pychar shortcut key
- Architecture article collection
- [C / C + + 1] clion configuration and running C language
- High availability cluster deployment of jumpserver: (6) deployment of SSH agent module Koko and implementation of system service management
- Linked blocking Queue Analysis of blocking queue
- With the advent of tensorflow 2.0, can pytoch still shake the status of big brother?
- I'm afraid that the spread sequence calculation of arbitrage strategy is not as simple as you think
- The road of C + + Learning: from introduction to mastery
- Building and visualizing decision tree with Python
猜你喜欢
零基础打造一款属于自己的网页搜索引擎
Windows 10 tensorflow (2) regression analysis of principles, deep learning framework (gradient descent method to solve regression parameters)
带你学习ES5中新增的方法
Word segmentation, naming subject recognition, part of speech and grammatical analysis in natural language processing
百万年薪,国内工作6年的前辈想和你分享这四点
Music generation through deep neural network
Mac installation hanlp, and win installation and use
How to use Python 2.7 after installing anaconda3?
Wow, elasticsearch multi field weight sorting can play like this
A brief history of neural networks
随机推荐
Let the front-end siege division develop independently from the back-end: Mock.js
Network security engineer Demo: the original * * is to get your computer administrator rights! 【***】
Construction of encoder decoder model with keras LSTM
High availability cluster deployment of jumpserver: (6) deployment of SSH agent module Koko and implementation of system service management
Filecoin主网上线以来Filecoin矿机扇区密封到底是什么意思
I'm afraid that the spread sequence calculation of arbitrage strategy is not as simple as you think
Vue.js Mobile end left slide delete component
NLP model Bert: from introduction to mastery (1)
I think it is necessary to write a general idempotent component
2019年的一个小目标,成为csdn的博客专家,纪念一下
这个项目可以让你在几分钟快速了解某个编程语言
MeterSphere开发者手册
有了这个神器,快速告别垃圾短信邮件
Summary of common algorithms of linked list
Word segmentation, naming subject recognition, part of speech and grammatical analysis in natural language processing
ES6学习笔记(二):教你玩转类的继承和类的对象
Skywalking series blog 5-apm-customize-enhance-plugin
Synchronous configuration from git to consult with git 2consul
Interface pressure test: installation, use and instruction of siege pressure test
Electron application uses electronic builder and electronic updater to realize automatic update