博客
关于我
net core 微服务 快速开发框架
阅读量:425 次
发布时间:2019-03-06

本文共 3803 字,大约阅读时间需要 12 分钟。

 

github 地址:

dym 分布式开发框架 Demo 熔断 限流 事件总线(包括基于内存的、rabbitmq的) CQRS DDD 实例 随后更新

dym 分布式开发框架

dym 是一个分布式开发框架,同时支持 .net core2.2 、.net frameworker4.6.1。

1、运行Demo

第一步:启动注册中心    进入项目文件夹 dymDemo\YY.AppCenter\bin\Debug\netcoreapp2.2 ,运行命令 dotnet AppCenter.dll    看到下图 说明运行成功 代码:默认监听6660端口
using dym.Rpc.Center;    static class Program    {        static void Main(string[] args)        {            Console.Title = "YY.AppCenter";            Bootstrap.StartUp(args);        }     }

配置文件:dym.config

服务启动后会注册到<Servers>节点内

6660
120000

 

第二步:启动服务Server      Server可以和 AppCenter 不在同一台电脑,也可以运行多个server 也可以负载均衡,高级用法随后介绍    进入项目文件夹 dymDemo\YY.Server\bin\Debug\netcoreapp2.2 ,运行命令 dotnet YY.Server.dll    看到下图 说明 Server 成功运行 并且已经注册到 注册中心(APPCenter)运行成功
代码:默认监听6659端口
using dym.Rpc.Server;    static class Program    {        static void Main(string[] args)        {            Bootstrap.StartUp(args);        }    }

配置文件:

0,0
App001
6659
1
20000
业务代码示例:
服务启动 配置
using System;using dym.EngineData;namespace dym.Plugs.YYTestService{    //服务启动 配置    public class YYTestBootstrap : IPlugsConfigurationBootstrap    {        public void ConfigurationBootstrap()        {            /*             * 服务启动的时候会执行此方法             * 也可以用来加载插件的配置             */        }        public void PreConfigurationBootstrap()        {            //Ioc 注入之前        }    }}

业务编写:

using dym.EngineData;using System;using System.Collections.Generic;using System.Text;namespace dym.Plugs.YYTestService{    public class MyFirstModule: BaseModule    {        public MyFirstModule() {        }        public ActionResult MyT() {            var xx = RequestString("XX");            Console.WriteLine($"来自客户端的消息:{xx}");            return new ActionResult(true,new { Msg= " I from dym.Plugs.YYTestService MyFirstModule!" },null, xx);        }    }}

 

 

第三步:启动Client测试分布式框架是否可以正常运行    启动Client 测试 Client调用 Server是否成功    进入项目文件夹 dymDemo\YY.Client\bin\Debug\netcoreapp2.2 ,运行命令 dotnet YY.Client.dll    看到下图 说明 Client 成功运行 客户端代码:
using System;using dym.Rpc.Client;namespace YY.Client{    class Program    {        static void Main(string[] args)        {            /*             * 1、AppName             * 2、注册中心             * 3、注册中心端口             * 4、关闭调用链追踪             */            DefaultConfigManager.SetDefaultConfiguration("YY.Client", "127.0.0.1", 6660,false);            Restart:            Console.WriteLine("请输入一个消息然后回车发送到服务器:");            var inputMsg = Console.ReadLine();            var input = new InputTest()            {                channel = "dym.Plugs.YYTest",                router = "MyFirst",                method = "MyT",                XX = $"{inputMsg}参数1"            };            var rltStr = Connector.BrokerDns(input);            //var outPut = Newtonsoft.Json.JsonConvert.DeserializeObject
(rltStr); Console.WriteLine(rltStr); Console.WriteLine("-----------------------------------------------------------------------------"); var inputYYTest = new InputTest() { channel = "dym.Plugs.YYTest", router = "MySecond", method = "MyT", XX = $"{inputMsg}参数2" }; var rltStrYY = Connector.BrokerDns(inputYYTest); //var outPutYY = Newtonsoft.Json.JsonConvert.DeserializeObject
(rltStr); Console.WriteLine(rltStrYY); goto Restart; } } public class InputTest : InputDtoBase { public string XX { get; set; } }}

 

 

转载地址:http://ogfuz.baihongyu.com/

你可能感兴趣的文章
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>