当前位置:网站首页>(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]所创,转载请带上原文链接,感谢
边栏推荐
- What is the difference between data scientists and machine learning engineers? - kdnuggets
- The difference between Es5 class and ES6 class
- 前端工程师需要懂的前端面试题(c s s方面)总结(二)
- Python Jieba segmentation (stuttering segmentation), extracting words, loading words, modifying word frequency, defining thesaurus
- Pollard's Rho algorithm
- Simple summary of front end modularization
- This article will introduce you to jest unit test
- Cglib 如何实现多重代理?
- 带你学习ES5中新增的方法
- Architecture article collection
猜你喜欢
一篇文章带你了解HTML表格及其主要属性介绍
Interface pressure test: installation, use and instruction of siege pressure test
Tool class under JUC package, its name is locksupport! Did you make it?
2019年的一个小目标,成为csdn的博客专家,纪念一下
ES6学习笔记(二):教你玩转类的继承和类的对象
合约交易系统开发|智能合约交易平台搭建
I've been rejected by the product manager. Why don't you know
01. SSH Remote terminal and websocket of go language
Do not understand UML class diagram? Take a look at this edition of rural love class diagram, a learn!
What to do if you are squeezed by old programmers? I don't want to quit
随机推荐
Classical dynamic programming: complete knapsack problem
Construction of encoder decoder model with keras LSTM
Natural language processing - wrong word recognition (based on Python) kenlm, pycorrector
Subordination judgment in structured data
有了这个神器,快速告别垃圾短信邮件
Recommendation system based on deep learning
vue任意关系组件通信与跨组件监听状态 vue-communication
[C / C + + 1] clion configuration and running C language
一篇文章带你了解CSS3图片边框
一篇文章带你了解HTML表格及其主要属性介绍
[actual combat of flutter] pubspec.yaml Configuration file details
EOS创始人BM: UE,UBI,URI有什么区别?
Python filtering sensitive word records
用一个例子理解JS函数的底层处理机制
Summary of common string algorithms
ES6学习笔记(五):轻松了解ES6的内置扩展对象
6.5 request to view name translator (in-depth analysis of SSM and project practice)
After reading this article, I understand a lot of webpack scaffolding
一篇文章带你了解CSS 分页实例
6.4 viewresolver view parser (in-depth analysis of SSM and project practice)