.Net Framework

美团命名服务的挑战与演进

余生颓废 提交于 2020-08-18 12:54:29
本文根据美团基础架构部技术专家舒超在2019 ArchSummit(全球架构师峰会)上的演讲内容整理而成。 命名服务主要解决微服务拆分后带来的服务发现、路由隔离等需求,是服务治理的基石。美团命名服务(以下简称MNS)作为服务治理体系OCTO的核心模块,目前承载美团上万项服务,日均调用达到万亿级别。为了更好地支撑美团各项飞速发展的业务,MNS开始从1.0向2.0演进。本文将围绕本次演进的初衷、实现方案以及落地的效果等方面进行展开,同时本文还介绍了命名服务作为一个技术中台组件,对业务的重要价值以及推动业务升级的一些成果。希望本文对大家能够有所启发。 一、MNS 1.0简介 从架构上看,MNS 1.0 主要分为三层:首先是嵌入业务内部的SDK,用作业务自定义调用;然后是驻守在每个机器上的SgAgent,以代理的方式将一些易变的、消耗性能的计算逻辑与业务进程分离开来,从而降低SDK对业务的侵入,减少策略变动对业务的干扰;远端是集中式的组件,包括健康检查模块Scanner,鉴权缓存模块MNSC,以及基于ZooKeeper(以下简称ZK)打造的一致性组件MNS-ZK,作为通知和存储模块。在层级之间设立多级缓存,利用“边缘计算”思想拆分逻辑,简化数据,尽量将路由分配等工作均摊到端上,从而降低中心组件负载。更多详情大家可参考《 美团大规模微服务通信框架及治理体系OCTO核心组件开源

【原创】在 ASP.NET Core 3.1 中使用 Senparc.Weixin.Work 企业微信 SDK —— 发送文本消息

你离开我真会死。 提交于 2020-08-18 12:25:15
下面在 Web 空应用里展示一个简单的例子来实现发送文本消息。 本文目录: 创建 Web 空应用 命令行方式创建 添加SDK引用 命令行方式 进入项目目录 添加包引用 配置和使用SDK 添加appsettings.Development.json文件 修改Startup.cs,配置服务 添加Controller,在Get方法中发送消息 创建 Web 空应用 命令行方式创建 $ dotnet new web --name ASPNETCoreWeixinWorkDemo dotnet 是程序的名字 new 是一个子程序的名字 web 是要使用的项目模板的名字 --name ASPNETCoreWeixinWorkDemo 指定要创建的项目的名字是 ASPNETCoreWeixinWorkDemo 添加SDK引用 命令行方式 进入项目目录 $ cd ASPNETCoreWeixinWorkDemo 添加包引用 $ dotnet add package Senparc.Weixin.Work 这个命令的执行效果可以在 WeixinWorkDemo.csproj 文件中看到。 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> <

[开源] .Net ORM FreeSql 1.8.0-preview 最新动态播报(番号:我还活着)

倖福魔咒の 提交于 2020-08-18 12:23:59
写在开头 FreeSql 是 .NET 开源生态下的 ORM 轮子,在一些人眼里属于重复造轮子:不看也罢。就像昨天有位朋友截图某培训直播发给我看,内容为:“FreeSQL(个人产品),自己玩可以,不要商用。ORM框架:1.安全、稳定(更新稳定、有BUG有人修复,有人升级)”。 这突出其来的“关爱”,让我的内心毫无波澜,确实是毫无波澜,比起当初 FreeSql 初出茅庐之时的讽刺友好得多。写在开头的这些内容并不祈求这部分人改变观念,该黑的请继续黑,黑总比没有关注好,是吧?我无所谓你,但是别人呢?麻烦你们不要无脑抨击,你们这种行为不知道挽杀了多少社区项目。 2018 年 12 月份开发 FreeSql 到现在,1859 颗星,412 Issues,18 PR,170K 包下载量。说明还是有开发者关注和喜爱,只要有人关注,就不会停更不修 BUG 一说。大家有兴趣可以看看更新记录,看看我们的代码提交量,4700+ 单元测试不说非常多,我个人觉得已经超过很多国产项目,有兴趣的再去隔壁“国产第一” ORM 上看看,对比对比!如果不更新了,请把位置让出来;如果有BUG修复不了,请让 FreeSql 来;如果不好用,就不要搞一堆 SEO 害人入坑;如果。。。如果。。。 这不是挑衅,看到对方的 issues 实在不忍,看到对方的源码,哇哦,单元测试在哪里?好了不废话了。。 20个月了,FreeSql

检测硬件的批处理命令,检测硬件bat,一键获取电脑硬件信息

99封情书 提交于 2020-08-18 11:44:32
警告:运行BAT源码是一种危险的动作,如果你不熟悉,请不要尝试! 批处理语言: 简体中文 授权方式: 免费软件 运行环境: Windows平台 检测硬件批处理命令.一键获取.直接双击就可以查看 @echo off color 0a title 硬件检测 mode con cols=90 sc config winmgmt start = auto >nul 2<&1 net start winmgmt 2> 1nul setlocal ENABLEDELAYEDEXPANSION echo 主版: for /f "tokens=1,* delims==" %%a in ('wmic BASEBOARD get Manufacturer^,Product^,Version^,SerialNumber /value') do ( set /a tee+=1 if "!tee!" == "3" echo 制造商 = %%b if "!tee!" == "4" echo 型 号 = %%b if "!tee!" == "5" echo 序列号 = %%b if "!tee!" == "6" echo 版 本 = %%b ) set tee=0 echo BIOS: for /f "tokens=1,* delims==" %%a in ('wmic bios get </p> <p

IT技术人,“三十而已”

假如想象 提交于 2020-08-18 11:42:46
最近电视剧《三十而已》热播,我家的电视机自然也是被霸屏,我还是跟着妹纸看了看,开头和结局完整看完,中间看了一点,大部分都是在微信公众号上通过别人的文章看完的。我个人也已经30+了,今天也和你聊聊30+这个话题。 1、关于《三十而已》 《三十而已》是由张晓波执导,张英姬编剧,江疏影、童瑶、毛晓彤领衔主演的都市情感剧。 该剧以三位三十岁女性视角展开,讲述了都市女性在三十岁这一重要年龄节点时,遭遇到多重压力的故事。 私以为,这部电视剧可能贡献了整个7~8月一半以上的话题,它描写都市女性在30岁人生节点上面临家庭、事业、爱情上的种种波折,以及她们的态度和选择,引起了社会各界广泛的共鸣,特别是办公室的吃瓜同事们。 画外音:IT、互联网公司也无一幸免,午饭时间讨论剧情的,骂渣男的,骂林有有的,此起彼伏。 对大多数人来说,可能没有哪个年龄比30岁更“动荡”。中国传统意义中“三十而立”的观念深入人心,在这个节点周围,似乎覆盖了很多人生中最重要的时刻,结婚、买房、生子,看起来每一个事件都会让刚刚独立不久的年轻人面临巨大的压力,难以平衡工作和家庭的关系,他们必须有所选择,也必然有所放弃。更重要的是,他们很焦虑! 画外音:孔子曰:“ 吾十有五而志于学 , 三十而立 , 四十而不惑 ,五十而知天命... ” 这里的立其实是指“立德、立言和立身 ” ,换句话来说就是学有所就

Lua5.3.5在Win上的安装

让人想犯罪 __ 提交于 2020-08-18 08:27:18
1. 进入lua官网 https://www.lua.org 2. 点击download 3. 点击 get a binary 4. 选择lua版本 (此处选择最新的) 5. 进入下载页, 直接点击 Tools Executables 无需安装 6. 选择win64 / 32版本 (根据自己的系统选择) 7. 下载完成,解压到D:/Lua (目录地址自定义) 8. 将lua所在目录加入环境变量 8. 验证安装 此处输入lua53 , 如果觉得麻烦可以将lua53.exe修改为lua.exe(如果没有其它版本的lua) 9. Lua编辑器 1. 命令行cmd 直接输入 lua53回车,进入lua运行环境中 2. sublime text 点击 new .... 复制一下json内容到文件中,替换原有内容。 { "cmd": ["D:/Lua/lua53.exe", "$file"], "file_regex": "^(?:lua:)?[t ](...*?):([0-9]*):?([0-9]*)", "selector": "source.lua" } 保存为 lua53(名字自定义) 然后tool => build system 选择lua53。 运行文件: ctrl + B运行 3. vscode 安装插件 lua debug ctrl + F5 非调试模式运行 F5 调试模式运行

Blazor WebAssembly 3.2 正式发布

你。 提交于 2020-08-18 08:20:10
5月 20日,微软 发布 了 Blazor WebAssembly 3.2( https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-now-available/ ) 。 Blazor 是 ASP.NET Core 中的一个新框架,支持使用 C#和 HTML 创建交互式 Web 应用程序。Blazor WebAssembly 使用基于 WebAssembly 的.NET 运行时在客户端的 Web 浏览器中运行单页应用程序。在客户端,它支持的场景包括渐进式 Web 应用程序(PWA)和使用客户端资源的离线应用程序。 Blazor WebAssembly 3.2.0 是一个功能齐全的版本,作为 Blazor WebAssembly实现,并用于生产部署。 也就是 Blazor WebAssembly 作为正式版本发布。 Blazor WebAssembly 3.2 的第一个预览版在 1 月底发布 。从那时起,接下来的预览版发布遵循了非常紧凑的时间表,今天在Build 大会上正式发布了Blazor WebAssembly 3.2 。 通常,Web 浏览器可以执行使用 JavaScript 编写的代码,但2017年标准化的 WebAssembly 可以执行其他编程语言的编写的代码,现在主流的4大浏览器都可以完美支持

.Net Core3.1下使用Swagger搭建web api项目

泪湿孤枕 提交于 2020-08-18 07:38:21
前言:微软于前天发布.net core 3.1正式版,并将长期支持3.1。所以我听到这个消息后就急忙下载.net core 3.1的SDK和Runtime,应该是公司最先用3.1的攻城狮了😄。 OK!废话少说,今天的目的是基于.net core 3.1建一个web api的项目 先下载.net core 3.1的SDK(开发.net core项目时会用到)和Runtime(用来运行.net core的应用程序) 地址: https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral 创建ASP.NET Core web项目 ps:不要选错了😂 这里说一下项目目录下的各个文件的作用 引入Swashbuckle.AspNetCore程序包 执行以下命令 Install-Package Swashbuckle.AspNetCore -Version 5.0 . 0 -rc4 添加 并配置Swagger中间件 services.AddSwaggerGen(c => { c.SwaggerDoc( " v1 " , new OpenApiInfo { Title = " My API " , Version = " v1 " }); }); app

可以Postman,也可以cURL.进来领略下cURL的独门绝技

会有一股神秘感。 提交于 2020-08-18 06:43:34
文章已经收录在 Github.com/niumoo/JavaNotes ,更有 Java 程序员所需要掌握的核心知识,欢迎Star和指教。 欢迎关注我的 公众号 ,文章每周更新。 cURL 是一个开源免费项目,主要是命令行工具 cURL 和 libcurl, cURL 可以处理任何网络传输协议,但是不涉及任何具体的 数据处理 。 cURL 支持的通信协议非常丰富,如 DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,MQTT,POP3,POP3S,RTMP, RTMPS,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,TELNET 以及 TFTP。查看 cURL 源代码可以访问官方 Github 。 如果安装 cURL 呢? ubuntu / Debian. sudo apt install curl CentOS / Fedora. sudo yum install curl Windows. 如果你已经安装了 Git,那么 Git Bash 自带 cURL . 如果作为开发者你 git 都没有,那么只能官方 手动下载 。 1. 请求源码 直接 curl 。 $ curl http://wttr.in/ 上面请求的示例网址是一个天气网站,很有意思,会根据你的请求 ip

海纳百川而来的一篇相当全面的Java NIO教程

时光总嘲笑我的痴心妄想 提交于 2020-08-18 06:43:02
【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】 本文是从网络复制、经过我的整理、开光而来的,而来的,来的,的。 为什么?因为写的太好了~没事打开看看打发打发时间,哈哈~ 零、NIO包 NIO 类包含在一个叫作 java.nio 包的包中。要了解NIO子系统不会取代 java.io 包中可用的基于流的I/O类,如果有对 java.io 基于流的I/O的如何工作有所有了解,这有助于您学习和使用 NIO 中的知识内容。 NIO 类包含在以下包中: 包名称 使用/目的 java.nio 它是NIO系统的顶级包,NIO系统封装了各种类型的缓冲区。 java.nio.charset 它封装了字符集,并且还支持分别将字符转换为字节和字节到编码器和解码器的操作。 java.nio.charset.spi 它支持字符集服务提供者 java.nio.channels 它支持通道,这些通道本质上是打开I/O连接。 java.nio.channels.spi 它支持频道的服务提供者 java.nio.file 它提供对文件的支持 java.nio.file.spi 它支持文件系统的服务提供者 java.nio.file.attribute 它提供对文件属性的支持 一、Java NIO