An open source strong-type client (open Fegin in. NET)-rabbit Go

Source: Internet
Author: User

In doing Rabbitcloud (before is an RPC, is now a microservices framework) often avoid the client agent, before these client agents are counted as an integral part of the service framework, with the deep discovery of these client agents can actually be interoperable, similar to spring cloud The Open Fegin.

Because their ultimate behavior is to construct a message to encode, send, and then decode the return information on the server. After reading open Fegin's source code, wrote Rabbit Go.

A simple client

Invoke Example

the latest sample: Https://github.com/RabbitTeam/go/tree/master/samples

What happened?

We use Fiddler to listen for request information.

Getasync

Deleteasync

Postasync

Putasync

Characteristics
    1. Rich Interceptors (Iasyncrequestinterceptor, Iasyncexceptioninterceptor)
    2. Replaceable codecs (default to Json, using Newtonsoft.json)
    3. Global Interceptor
    4. Global Model Convention
    5. Good abstraction and implementation split (easy to expand)
    6. URL support templates
    7. Extensible requestor (currently only httpgoclient)
    8. Not just for HTTP (the future will add implementations for service providers such as GRPC, Dubbo, etc.)
Project information

Source Address: Https://github.com/RabbitTeam/go

Nuget:https://www.nuget.org/packages/rabbit.go.core

Rabbit Go-based client

SOURCE Address: Dingtalk (nail open platform)

Define a book review service with Goclient in production

Account Services

PS: The production project integrates Rabbitcloud, which realizes service discovery, retry and load balancing. The comment,user in each invocation process is automatically parsed into the actual IP address and port of the corresponding service according to a certain policy.

Rabbitcloud is also an experimental project that currently only releases the source code and does not have any integration documentation.

Open Source Address: Https://github.com/rabbitteam/rabbitcloud/tree/dev

Next
    1. Use without di
    2. Provides service discovery, retry, current limit, circuit breaker support (integrated Rabbit Cloud)
    3. Provides call support for GRPC
    4. Provides call support for Dubbo
Written in the last

. NET Technology Stack QQ Group: 384413261 (click Join . NET group)

An open source strong-type client (open Fegin in. NET)-rabbit Go

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.