当前位置:网站首页>(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]所创,转载请带上原文链接,感谢
边栏推荐
- 小程序入门到精通(二):了解小程序开发4个重要文件
- 6.1.1 handlermapping mapping processor (1) (in-depth analysis of SSM and project practice)
- It's so embarrassing, fans broke ten thousand, used for a year!
- Wiremock: a powerful tool for API testing
- Summary of common algorithms of binary tree
- Custom function form of pychar shortcut key
- JVM memory area and garbage collection
- 5.4 static resource mapping
- 一篇文章带你了解CSS3图片边框
- 6.2 handleradapter adapter processor (in-depth analysis of SSM and project practice)
猜你喜欢
带你学习ES5中新增的方法
NLP model Bert: from introduction to mastery (1)
华为云“四个可靠”的方法论
A course on word embedding
前端基础牢记的一些操作-Github仓库管理
Network security engineer Demo: the original * * is to get your computer administrator rights! 【***】
一篇文章教会你使用Python网络爬虫下载酷狗音乐
EOS创始人BM: UE,UBI,URI有什么区别?
一篇文章教会你使用HTML5 SVG 标签
一篇文章带你了解CSS3圆角知识
随机推荐
What is the difference between data scientists and machine learning engineers? - kdnuggets
至联云解析:IPFS/Filecoin挖矿为什么这么难?
The data of pandas was scrambled and the training machine and testing machine set were selected
Azure data factory (3) integrate azure Devops to realize CI / CD
use Asponse.Words Working with word templates
NLP model Bert: from introduction to mastery (1)
Python Jieba segmentation (stuttering segmentation), extracting words, loading words, modifying word frequency, defining thesaurus
Named entity recognition in natural language processing: tanford core LP ner (1)
[JMeter] two ways to realize interface Association: regular representation extractor and JSON extractor
Network security engineer Demo: the original * * is to get your computer administrator rights! 【***】
ES6学习笔记(四):教你轻松搞懂ES6的新增语法
Pattern matching: The gestalt approach一种序列的文本相似度方法
有了这个神器,快速告别垃圾短信邮件
Tool class under JUC package, its name is locksupport! Did you make it?
Natural language processing - wrong word recognition (based on Python) kenlm, pycorrector
With the advent of tensorflow 2.0, can pytoch still shake the status of big brother?
Face to face Manual Chapter 16: explanation and implementation of fair lock of code peasant association lock and reentrantlock
Electron application uses electronic builder and electronic updater to realize automatic update
Skywalking series blog 5-apm-customize-enhance-plugin
After reading this article, I understand a lot of webpack scaffolding