All Projects → simple-gr → Ketchup

simple-gr / Ketchup

Licence: mit
ketchup (番茄酱) 是一个基于dotnet core的微服务框架。

Projects that are alternatives of or similar to Ketchup

Surging
Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. The service engine supports http, TCP, WS,Grpc, Thrift,Mqtt, UDP, and DNS protocols. It uses ZooKeeper and Consul as a registry, and integrates it. Hash, random, polling, Fair Polling as a load balancing algorithm, built-in service gove…
Stars: ✭ 3,088 (+1716.47%)
Mutual labels:  grpc, redis, rabbitmq, consul
Go Micro Services
HTTP up front, Protobufs in the rear
Stars: ✭ 853 (+401.76%)
Mutual labels:  microservice, grpc, consul
Goodskill
🐂基于springcloud +dubbo构建的模拟秒杀项目,模块化设计,集成了分库分表、elasticsearch🔍、gateway、mybatis-plus、spring-session等常用开源组件
Stars: ✭ 786 (+362.35%)
Mutual labels:  microservice, redis, rabbitmq
Bankflix
Aplicação que simula um banco digital, contendo a área do cliente e administrativa, permitindo depósitos e transferências entre contas do mesmo banco. | Application that simulates a digital bank, containing the customer and administrative areas, allowing deposits and transfers between accounts of the same bank.
Stars: ✭ 82 (-51.76%)
Mutual labels:  redis, rabbitmq, dotnet-core
Docker Alpine
Docker containers running Alpine Linux and s6 for process management. Solid, reliable containers.
Stars: ✭ 574 (+237.65%)
Mutual labels:  redis, rabbitmq, consul
Jboot
一个优雅的微服务框架,SpringCloud 之外的另一个选择,已经使用在用户量过亿的商业产品上,有超过1000家公司在使用Jboot做极速开发...
Stars: ✭ 655 (+285.29%)
Mutual labels:  grpc, redis, rabbitmq
Nagios Plugins
450+ AWS, Hadoop, Cloud, Kafka, Docker, Elasticsearch, RabbitMQ, Redis, HBase, Solr, Cassandra, ZooKeeper, HDFS, Yarn, Hive, Presto, Drill, Impala, Consul, Spark, Jenkins, Travis CI, Git, MySQL, Linux, DNS, Whois, SSL Certs, Yum Security Updates, Kubernetes, Cloudera etc...
Stars: ✭ 1,000 (+488.24%)
Mutual labels:  redis, rabbitmq, consul
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+2374.12%)
Mutual labels:  microservice, grpc, consul
Dotnet Istanbul Microservices Demo
This is the demo application that i created for my talk 'Microservice Architecture & Implementation with Asp.Net Core' at Dotnet İstanbul Meetup Group.
Stars: ✭ 109 (-35.88%)
Mutual labels:  microservice, rabbitmq, dotnet-core
Library
A microservice project using .NET Core 2.0, DDD, CQRS, Event Sourcing, Redis and RabbitMQ
Stars: ✭ 122 (-28.24%)
Mutual labels:  microservice, rabbitmq, consul
Aaframework
AA.Framework is built on the popular open source class library of NET Core
Stars: ✭ 128 (-24.71%)
Mutual labels:  redis, rabbitmq, dotnet-core
Modernarchitectureshop
The Microservices Online Shop is an application with a modern software architecture that is cleanly designed and based on.NET lightweight technologies. The shop has two build variations. The first variant is the classic Microservices Architectural Style. The second one is with Dapr. Dapr has a comprehensive infrastructure for building highly decoupled Microservices; for this reason, I am using Dapr to achieve the noble goal of building a highly scalable application with clean architecture and clean code.
Stars: ✭ 154 (-9.41%)
Mutual labels:  grpc, redis, dotnet-core
Dnc
dnc 去中心化 开源社区 轻联盟 dncto.com QQ群 779699538
Stars: ✭ 551 (+224.12%)
Mutual labels:  redis, rabbitmq, k8s
Mall Swarm
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。
Stars: ✭ 7,874 (+4531.76%)
Mutual labels:  redis, rabbitmq, k8s
Netcoremicroservicessample
Sample using micro services in .NET Core 3.1 Focusing on clean code
Stars: ✭ 403 (+137.06%)
Mutual labels:  rabbitmq, consul, dotnet-core
Socket Io
基于Hyperf微服务协程框架开发的sokcet-io分布式系统
Stars: ✭ 38 (-77.65%)
Mutual labels:  redis, rabbitmq, consul
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 1,903 (+1019.41%)
Mutual labels:  grpc, redis, dotnet-core
Springboot Learning
基于Gradle构建,使用SpringBoot在各个场景的应用,包括集成消息中间件、前后端分离、数据库、缓存、分布式锁、分布式事务等
Stars: ✭ 340 (+100%)
Mutual labels:  grpc, redis, rabbitmq
Go Project Sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Stars: ✭ 344 (+102.35%)
Mutual labels:  microservice, grpc, consul
Docker Cloud Platform
使用Docker构建云平台,Docker云平台系列共三讲,Docker基础、Docker进阶、基于Docker的云平台方案。OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 86 (-49.41%)
Mutual labels:  grpc, rabbitmq, k8s

GitHub license

ketchup -- 番茄酱

文档: WiKi.

ketchup 是一个基于dotnet core的微服务框架。

网关:兼容 kong

rpc:grpc支持远程调用,

注册中心:consul,

负载均衡算法:轮询、随机、加权随机算法。

缓存:redis、memory,

消息中间件:rabbitmq

附一个 RBAC 的服务设计实现 地址: zero.

image

如何运行起来

Program中

    public static IHostBuilder CreateHostBuilder(string[] args)
    {
        return Host.CreateDefaultBuilder(args)
            .UseServiceProviderFactory(new AutofacServiceProviderFactory())
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                config.SetBasePath(Directory.GetCurrentDirectory());                    
                config.AddJsonFile("config/server.json", true, true); 
            }).ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder
                    .ConfigureKestrel(options =>
                    {
                        var config = AppConfig.ServerOptions;
                        //使用http2协议
                        options.Listen(new IPEndPoint(IPAddress.Any, config.Port),
                            listenOptions => { listenOptions.Protocols = HttpProtocols.Http2; });
                    })
                    .UseStartup<Startup>();
            });
    }

Startup中

配置config

      public Startup(IConfiguration configuration)
      {
        AppConfig.Configuration = (IConfigurationRoot)configuration;
      }

添加grpc服务

      public void ConfigureServices(IServiceCollection services)
      {
        // Add things to the service collection.
         services.AddGrpc(grpc => grpc.Interceptors.Add<HystrixCommandIntercept>());
      }

添加autofac 注册服务

      public void ConfigureContainer(ContainerBuilder builder)
      {
        // Add things to the Autofac ContainerBuilder.
        builder.AddCoreService().RegisterModules();
      }

配置中间件

      public void Configure(IApplicationBuilder app)
      {
        // Set up the application for development.
        ServiceLocator.Current = app.ApplicationServices.GetAutofacRoot();
        app.UseRouting();
        app.UseKetchupServer();
      }

服务端server.json配置

"Server": {
   "Name": "sample",//服务名称
   "Ip": "127.0.0.1",//服务ip
   "Port": "5003",//服务端口
   "EnableHttp": true, //是否开启http
   "Security": {
      "Whitelist": "*", //白名单
      "BlackList": "" //黑名单
   }
 }
"Consul": {
  "ConnectionString": "127.0.0.1:8500",//consul 的链接地址
  "IsHealthCheck": true//是否进行健康检查
}

客户端client.json配置

 "Consul": {
     "ConnectionString": "127.0.0.1:8500",
     "IsHealthCheck": true
 }

QQ 交流群:592407137

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].