当前位置: 首页 > news >正文

龙岩网站推广做微信推送网站

龙岩网站推广,做微信推送网站,谷歌搜索引擎入口google,网站建设机器人微服务确实是行业的一个趋势#xff0c;我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西#xff0c;有很多大牌的组件可以选#xff0c;比如spring-cloud-config#xff0c;apoll#xff0c;disconf等等。而我为什么还要造一个轮子呢我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西有很多大牌的组件可以选比如spring-cloud-configapolldisconf等等。而我为什么还要造一个轮子呢一来这些都不是.net实现的我就想试试用.net core实现一个而且他们也对.net不太友好也只有apoll提供了官方的.net客户端。二来这些组件都太重量级了比如apoll光跑起来就要部署多个节点admin,portal,meta sevice还要依赖eureka。很多旧的项目往微服务迁移的时候并不是一下次全部调整完成的可能是一步步来的比如先把所有的服务都容器化并没有使用微服务全家桶。而且有的项目也不需要微服务全家桶毕竟微服务不是银弹很多项目单体结构就足够了有些项目传统的SOA架构也可以了。唠叨一句那种毫无流量毫无并发的项目几人几天就搞完的强上微服务真的好吗但是这些项目也可能是分布式的容器化部署的那么这些项目我觉得也是需要配置中心的因为在分布式、容器化环境下更改配置实在是太麻烦了。可以说配置中心并不是微服务独有的。基于以上原因我提炼了一些配置中心必备的功能做的尽量简单陋开发了AgileConfig为.net core的生态尽一份绵薄之力。 Github求starhttps://github.com/kklldog/AgileConfigAgileConfig这是一个基于.net core开发的轻量级配置中心。部署简单最少只需要一个数据节点支持docker部署支持多节点分布式部署来保证高可用配置支持按应用隔离应用内配置支持分组隔离使用长连接技术配置信息实时推送至客户端支持IConfigurationIOptions模式读取配置原程序几乎可以不用改造配置修改支持版本记录随时回滚配置如果所有节点都故障客户端支持从本地缓存读取配置架构AgileConfig的架构比较简单主要是分3块客户端客户端程序是使用netstandard2.0开发的一个类库方便.net core程序接入nuget搜agileconfig.client就可以安装。可以在启动客户端的时候配置多个节点的地址客户端会随机挑选一个进行连接连接成功后会维持一个websocket长连接。如果连接的节点发生故障导致连接中断客户端会继续随机一个节点进行连接直到连接成功。节点、管理程序节点是使用asp.net core开发的一个服务。为了部署简单直接把管理程序跟节点服务合二为一了。任何一个节点都可以在启动的时候配置环境变量开启管理程序功能。数据库使用数据库来存储数据目前支持Sqlserver, Mysql, Sqlite 三种数据库。因为服务端使用EF Core框架访问数据原则上只要EF Core支持的数据库节点就可以很方便的支持它。部署服务端初始化数据库用户只需要手工建一个空库所有的表在第一次启动的时候都会自动生成。目前支持sqlservermysqlsqlite三种数据库。使用服务端运行服务端sudo docker run --name agile_config -e adminConsoletrue -e db:providersqlite -e db:connData Sourceagile_config.db -p 5000:5000 kklldog/agile_config:latest 通过docker建立一个agile_config实例其中有3个环境变量需要配置:adminConsole 配置程序是否为管理控制台。如果为true则启用控制台功能访问该实例会出现管理界面。db:provider 配置程序的数据库类型。目前程序支持sqlitemysqlsqlserver 三种数据库。db:conn 配置数据库连接串    初始化管理员密码第一次运行程序需要初始化管理员密码    节点AgileConfig支持多节点部署所有的节点都是平行的。为了简化部署AgileConfig并没有单独的控制台程序请直接使用任意一个节点作为控制台。当环境变量adminConsoletrue时该节点同时兼备数据节点跟控制台功能。为了控制台能够管理节点所以需要在控制台配置节点的信息。注意即使是作为控制台的数据节点同样需要添加到管理程序以便管理它。应用AgileConfig支持多应用程序接入。需要为每个应用程序配置名称、ID、秘钥等信息。配置项配置完应用信息后可以为每个应用配置配置项。配置项支持分组。新添加的配置并不会被客户端感知到需要手工点击“上线”才会推送给客户端。已上线的配置如果发生修改、删除、回滚操作会实时推送给客户端。版本历史记录了配置的历史信息可以回滚至任意版本。客户端控制台可以查看已连接的客户端。系统日志系统日志记录了AgileConfig生产中的一些关键信息。使用客户端安装客户端Install-Package AgileConfig.Client 初始化客户端以asp.net core mvc项目为例{Logging: {LogLevel: {Default: Information,Microsoft: Warning,Microsoft.Hosting.Lifetime: Information}},AllowedHosts: *,//agile_configAgileConfig: {appId: app,secret: xxx,nodes: http://localhost:5000,http://localhost:5001//多个节点使用逗号分隔} }public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureAppConfiguration((context, config) {//读取本地配置var localconfig  new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(appsettings.json).Build();//从本地配置里读取AgileConfig的相关信息var appId  localconfig[AgileConfig:appId];var secret  localconfig[AgileConfig:secret];var nodes  localconfig[AgileConfig:nodes];//new一个client实例var configClient  new ConfigClient(appId, secret, nodes);//使用AddAgileConfig配置一个新的IConfigurationSourceconfig.AddAgileConfig(configClient);//找一个变量挂载client实例以便其他地方可以直接使用实例访问配置ConfigClient  configClient;//注册配置项修改事件configClient.ConfigChanged  ConfigClient_ConfigChanged;}).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();}); 读取配置AgileConfig支持asp.net core 标准的IConfiguration跟IOptions模式读取配置。还支持直接通过AgileConfigClient实例直接读取public class HomeController : Controller{private readonly ILoggerHomeController _logger;private readonly IConfiguration _IConfiguration;private readonly IOptionsDbConfigOptions _dbOptions;public HomeController(ILoggerHomeController logger, IConfiguration configuration, IOptionsDbConfigOptions dbOptions){_logger  logger;_IConfiguration  configuration;_dbOptions  dbOptions;}public IActionResult Index(){return View();}/// summary/// 使用IConfiguration读取配置/// /summary/// returns/returnspublic IActionResult ByIConfiguration(){var userId  _IConfiguration[userId];var dbConn  _IConfiguration[db:connection];ViewBag.userId  userId;ViewBag.dbConn  dbConn;return View();}/// summary/// 直接使用ConfigClient的实例读取配置/// /summary/// returns/returnspublic IActionResult ByInstance(){var userId  Program.ConfigClient[userId];var dbConn  Program.ConfigClient[db:connection];ViewBag.userId  userId;ViewBag.dbConn  dbConn;return View(ByIConfiguration);}/// summary/// 使用Options模式读取配置/// /summary/// returns/returnspublic IActionResult ByOptions(){var dbConn  _dbOptions.Value.connection;ViewBag.dbConn  dbConn;return View(ByIConfiguration);}} 关注我的公众号一起玩转技术
http://www.pierceye.com/news/92394/

相关文章:

  • wdcp 网站建设做民宿推广都有哪些网站
  • 常见的网站开发环境网站建设的结构
  • 贵阳网站推广优化公司做网站的公司搞什么活动
  • 安徽平台网站建设制作坪山网站设计的公司
  • 如何做挂qq的网站2017网站建设
  • wordpress语言切换网站保定广告设计公司
  • 做网站需要走公司吗运行一个网站要多少钱
  • 怎样可以免费做网站wap网站软件
  • 织梦手机网站免费模板漳州城乡建设局网站
  • 厦门建设网站的公司php除了写网站吗
  • 如何做全网影视网站居然之家装修公司怎么样
  • 佛山网站建设公司哪家最好万能软文范例800字
  • 网站排名优化如何做wordpress 免费版广告
  • 拓客网站建设建易网官网
  • 网站目录链接怎么做的建网站pc版 (报价)
  • 北京网站制作业务如何开展做网站海报
  • 网站的设计方法有哪些互动网络游戏公司网站建设
  • 公司网站开发制作公司国内重大新闻2022
  • 搜索引擎排名网站北京到广州快递要几天
  • 制作网站怎么制作html网站 下载
  • 深圳网络营销网站设计做个网站哪里可以做
  • 九牛科技网站开发微信营销小型网站建设步骤
  • 分类信息系统网站模板口碑好的网站建设多少钱
  • 米粒网站建设网站开发项目费用预算
  • 12380网站建设的意见建议公司网站维护和更新属于哪个部门
  • 公众号做微网站吗做国外网站的站长
  • 现在网站优化app程序开发定制
  • 德阳网站怎么做seowordpress app 插件
  • 水文化建设网站网站排名优化公司哪家好
  • 网站图片的暗纹是怎么做的做家教中介 不建网站怎么做