在使用微服务的过程中经常会遇到这样的情况,就目前我遇到的问题做下分析 情况一: 这里服务对于前后端分离情况来说,多使用查询服务,前端直接获取不同服务的数据展示,如果出现其中的服务失败,对业务数据无影响,只对前端数据展示出现影响 情况二 这列聚合服务主要出现在操作上,各个服务存在相互调用,相互协作完成某一项操作的情况 接下来我在API中添加了聚合服务模块,利用 IHttpClientFactory处理了情况的服务根目录及授权问题 services.AddHttpContextAccessor();…
使用方式 IHttpClientFactory有四种模式: 基本用法 命名客户端 类型化客户端 生成的客户端 基本用法 在 Startup.ConfigureServices 方法中,通过在 IServiceCollection 上调用 AddHttpClient 扩展方法可以注册 IHttpClientFactory services.AddHttpClient(); 注册之后可以像依赖注入DI似得在类中通过构造函数注入形式使用,伪代码: class A { private readonly…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 这里们来做一个简单的业务列表功能…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 前面一篇中处理授权类,但是不难发…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 对于我们的组件页面当然不是所有的…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 在前面的基础上我们来添加引入我们…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 在.netcore中大家经常会看…
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面 .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤 .NetCore 下开发独立的(RPL)含有界面的组件包 (五)授权过滤参数处 理 .NetCore 下开发独立的(RPL)含有界面的组件包 (六)实现业务功能 相信很多人都nuget包,一般自…
Tips: 1.目前NetCore下与Modbus通信的框架主要选择了 Modbus.Net  https://github.com/parallelbgls/Modbus.Net 2.modbus是常用的工业通信协议,在软件调试时可以通过modbus poll+slave模拟通信通过达到调试目的,下图是我使用软件 1)为串口模拟工具 2)为Modbus Slave模拟工具 3)为Modbus Poll模拟,修改对应Value值即可发送到Slave 调用和测试代码: public class M…
原文:.netcore下的微服务.容器.运维.自动化发布 微服务 1.1     基本概念 1.1.1       什么是微服务? 微服务架构是SOA思想某一种具体实现.是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并采用轻量级的通讯机制(TCP)进行通信.这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署.这些服务的集中化管理已经是最少的,它们可以用不同的编程语言编写,并使用不同的数据存储技术. 1.1.2       为什么要用微服务? 1.…
原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为Lax. 有时页面需要用到验证码时,可能需要TempData保存一下,但是这种情况是无效的,因此需要用Session来存取,因为Session可以配置SameSiteMode 废话不多说,要修改的位置有3个,均是在Startup里面,设置完成即可 services.Configure<CookiePol…
NETCore下IConfiguration和IOptions的用法 https://www.cnblogs.com/RainingNight/p/strongly-typed-options-configure-in-asp-net-core.html…
 Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server: https://filezilla-project.org/download.php?type=server . 在本地也需要安装 FileZilla Client :https://filezilla-project.org/download.php?type=client 二.配置FTP端口…
在Windows2012下安装SQL Server 2005无法启动服务的解决办法 1.正常安装任一版本的SQL Server 2005. 2.安装到SqlServer服务的时候提示启动服务失败  此时 不要把安装取消  什么都不要动  继续看下面的介绍,这里就是关键啦,下载本文的两个附件,里面是SP4(2005.90.5000.0)版本的sqlservr.exe和sqlos.dll.32位下载sqlservr32.rar,64位下载sqlservr64.rar. sqlservr64.rar…
linux下开启.关闭.重启mysql服务命令 一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mysql start3.使用 safe_mysqld 启动:safe_mysql& 二.停止1.使用 service 启动:service mysql stop2.使用 mysqld 脚本启动:/etc/inint.d/mysql stop3.mysqladmin shutdown 三.重启1.使用 serv…
Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程 原因: 一般造成这种原因是因为项目中有非守护线程的存在: 解决方案: 一.从Tomcat上解决 方案1:(推荐的方案:因为一台机器里可能有很多tomcat,不能kill所有) 基本原理为启动tomcat时记录启动tomcat的进程id(pid),关闭时强制杀死该进程 (1),在tomcat/bin/catalina.sh脚本的代码前,加入以下语句: #####################################…
windows下apache + mod_wsgi + python部署flask接口服务 用python3安装虚拟环境 为啥要装虚拟环境? 原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在虚拟环境中,我们可独立的安装需要的包,不影响系统中全局python环境的配置,一台机器可根据不同项目创建多个虚拟环境,相互不会影响 原因2:根据网上的采坑经验,如果在全局python环境下配置wsgi文件,会出现找不到系统中安装的python包的情况 填坑:为啥用python3? 在下载apache…
一.多表的创建 from django.db import models # Create your models here. class Author(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=32) age = models.IntegerField() au = models.OneToOneField(to='AuthorDetail',to_fiel…
昨日内容回顾 # 一对多的添加方式1(推荐) # book=Book.objects.create(title="水浒传",price=100,pub_date="1643-4-12",publish_id=1) # print(book.title) # 一对多的添加方式2 # publish必须接受一个对象 # xigua=Publish.objects.filter(name="西瓜出版社").first() # book=Book.obj…
说道这一块纠结了我两天时间,感觉真的很心累,Jenkins的安装就不多说了 这里我们最好直接安装到宿主机上,应该pull到的jenkins版本是2.6的,里面很多都不支持,我自己试了在容器中安装的情况,效果很不满意 这篇文章主要就是为了解决两个问题: 1.配置问题 2.容器发布运行问题 为了解决这两个问题也是费了我不少精力,首先shell编程你的会啊,做一个DevOps真心累,关于Jenkin拉去代码的问题这里不多说,主要针对上面2个问题说下我个人的观点 微服务架构都是有配置中心,为了解决第一个…
昨日内容回顾 # 一对多的添加方式1(推荐) # book=Book.objects.create(title="水浒传",price=100,pub_date="1643-4-12",publish_id=1) # print(book.title) # 一对多的添加方式2 # publish必须接受一个对象 # xigua=Publish.objects.filter(name="西瓜出版社").first() # book=Book.obj…
[译]原文https://prometheus.io/docs/introduction/overview 什么是Prometheus? Prometheus是一个开源系统监控和警报工具包,最初起源于SoundCloud.自2012年成立以来,许多公司和组织都采用了Prometheus,该项目有一个非常活跃的开发人员和用户社区.它现在是一个独立的开源项目,Prometheus在2016年加入了云计算基金会,成为继Kubernetes(k8s)之后的第二个托管项目. 特性介绍 Prometheus…
新建.NetCore的控制台项目 使用Nuget安装Pomelo.entityframeworkcore.mysql 工程右键--->编辑.csproj文件,把以下内容写入到工程文件 <ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.1.1" /> </ItemGroup> 修…
一.基于双下划线的跨表查询 Django 还提供了一种直观而高效的方式在查询(lookups)中表示关联关系,它能自动确认 SQL JOIN 联系.要做跨关系查询,就使用两个下划线来链接模型(model)间关联字段的名称,直到最终链接到你想要的model 为止. 核心得学会通知ORM引擎什么时候,join哪张表 join看似复杂,实则最简单.因为把字段列出来之后,就相当于单表操作了!想怎么取值都可以! 正向查询按字段,反向查询按表名小写用来告诉ORM引擎join哪张表 返回值是QuerySet…
日志的分类 首先往大的来说,日志分2种 ①业务日志: 即业务系统需要查看的日志, 常见的比如谁什么时候修改了什么. ②参数日志: 一般是开发人员遇到问题的时候定位用的, 一般不需要再业务系统里展示. 对于业务日志, 我们现在基本确定" 业务日志是业务" 这么个准则, 即业务日志应该跟随着业务表走. 比如你一个订单的操作日志, 那么订单表再哪它就应该在哪, 业务日志应该要跟着你的业务操作同生共死(事务性), 基于上述理念所以业务日志我们不会用table存 对于参数日志, 我觉得这个说是后…
本人主要利用IdentityServer4以及SignalR来实现,IdentityServer4作为认证,SignalR来交互配置,这里一些代码可能就是部分提出来,主要介绍实现原理及方法 实现配置中心核心的两个点我们要放在 1.配置文件如何传送 2.配置文件如何动态的更新 配置文件的传送结合SignalR来实现 思考:什么样的客户端可以来获取配置? 这里客户端我们配置了 这里我直接结合Identityserver4,配置客户端id,客户端密钥,配置中心地址.在配置一个IdentityServe…
Prometheus中包含了很多收集指标,那么我们怎来在Grafana中来使用呢? 接下来我们还是以之前自定义的来演示如图:我们在Prometheus中已经可以看到这个之前我们自定义的类型了 关于Grafana的部署前面的文章已经介绍过了,这里就不继续介绍了,这里新建一个面板 添加图表 创建好后会默认添加一个图标,这里我们选择编辑 接下来选择数据源名称,前面的章节已经介绍过了 如下图输入我们自定义的指标,其实这里都是智能检索的,都有提示的,我们选这这个之前定义好的 然后统计图就已经有了如图: 这…
Prometheus下面定了四种类型的收集方式,下面我们主要来来说下Counter的使用 Nuget导入Prometheus.AspNetCore包 下面先来看下我的Prometheus配置,这里我没有分组了 这里我有三个服务,分别是认证服务40000 用户服务 40001 以及体检服务 40002 配置好了重新用配置启动,已启动kill掉在启动 这里我们访问 http://192.168.0.212:9090/targets,可以看到配置的服务状态都是Up,其实Prometheus中自带了服务…
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.Authority = _authorityconfig.Authority; options.RequireHttps…
在代码中使用就比较简单了 Nuget包获取下 prometheus-net prometheus-net.AspNetCore 然后添加中间件就行了 app.UseMetricServer(); 默认地址都是/metrics,在Prometheus中的targets就是指向了这个地址,当然如果需要认证的话需要处理,Prometheus也需要设置先关认证,这里我写在了GateWay中,允许查看下 http://localhost:5000/metrics # HELP process_window…