摘要: 最近在做微服务的时候,由于我们是采用前后端分离来开发的,提供给前端的直接是Swagger,如果Swagger分布在各个API中,前端查看Swagger的时候非常不便,因此,我们试着将Swagger集中放到网关中。 这里我用两个API项目(一个BasicDataApi,一个UsersApi)和一个网关 阅读全文
posted @ 2018-05-16 18:14 focus-lei 阅读(8024) 评论(19) 推荐(16) 编辑
摘要: windows下,我们对于.net程序发生Crash,资源泄露,死锁等问题的分析,有神器windbg,那现在我们的.net core程序运行在linux上时,该怎么进行对对Core Dump文件进行分析呢?今天介绍一款Linux/mac os下的一款调试利器:lldb。 关于lldb的介绍,大家可以 阅读全文
posted @ 2018-09-13 15:03 focus-lei 阅读(2856) 评论(0) 推荐(0) 编辑
摘要: 我们原来的业务中,有很多地方需要解析用户IP的信息,刚开始是通过新浪、百度这些第三方的接口来解析IP信息,后来发现调用这些接口频繁时会被禁用一小段时间。不得已只得将数据存到我们的数据库中,表结构大致如下图,大家一看应该就明白那些字段的意思。 查询得SQL大致是:SELECT * FROM IPInf 阅读全文
posted @ 2018-08-13 11:50 focus-lei 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: 最近在使用EasyNetQ时,遇到一个问题:c++项目组发送的消息数据不是Json数据,而是自定义的数据格式(各字段+‘|’连接成一个字符串),EasyNetQ中消费消息接收的都是强类型,没办法直接消费一个字符串作为一个消息。没办法只好研究EasyNetQ的源码,发现有一个ISerializer接口 阅读全文
posted @ 2018-07-04 12:03 focus-lei 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 在微服务或分布式系统中,如果将日志作为文件输出,查看系统日志将非常不便;如果将日志保存到数据库中,又不能进行全文搜索。在这里我们将日志输出到ElasticSearch中,借助Kibana再查找日志。 添加Nuget引用 需要添加两个Nuget引用:NLog.Web.AspNetCore和NLog.T 阅读全文
posted @ 2018-06-08 11:51 focus-lei 阅读(3591) 评论(7) 推荐(3) 编辑
摘要: 随着SOA、微服务、CQRS的盛行,EventBus越来越流行,上GitHub搜了一下,还是有蛮多的这类实现,老牌的有NServiceBus(收费)、MassTransit,最近的有CAP(国人写的,1.4k个Star,非常不错)、ReBus(张队长在NanoFabric中推荐的)、RawRabbi 阅读全文
posted @ 2018-06-01 12:26 focus-lei 阅读(6047) 评论(4) 推荐(8) 编辑
摘要: 做开发这么多年,经常因配置的问题引发生产环境的bug。有些年久的项目,几百个密密麻麻的配置项,经常容易搞混,有时好几个项目有好多同样的配置项,配置工作也不厌其烦。所幸,携程开源了新一代配置中心 - Apollo项目,最近在项目中使用了一段时间,感觉确实方便不少。 首先本地搭建Apollo,请参照官网 阅读全文
posted @ 2018-05-23 16:18 focus-lei 阅读(8263) 评论(6) 推荐(4) 编辑
摘要: 一、InfluxDB 1、下载InfluxDB 2、安装InfluxDB 3、创建库、用户 二、Grafana 1、下载、安装: 2、设置开机自动启动: 3、启动服务并查看服务状态: 4、访问ip+3000端口,用户名和密码均为admin进行登录, 5、创建数据源,如下图所示: 6、导入Dashbo 阅读全文
posted @ 2018-05-14 18:04 focus-lei 阅读(2649) 评论(1) 推荐(4) 编辑
摘要: 源码下载地址:下载 项目结构如下图: 在Identity Server授权中,实现IResourceOwnerPasswordValidator接口: 单页面应用中,使用implicit的授权模式,需添加oidc-client.js,调用API的关键代码: 统一网关通过Ocelot实现,添加Ocel 阅读全文
posted @ 2018-05-14 11:04 focus-lei 阅读(2825) 评论(1) 推荐(2) 编辑
摘要: 一、Docker部分: 先拉最新的asp.net core的镜像: 将下载下来的镜像重命名,为什么要重命名?等会讲Registrator的时候再解释。执行下面的命令: 运行docker, 挂载本地目录/apps/QkaWebServer到容器中的/apps/dotnet/,将容器中的两个端口映射出来 阅读全文
posted @ 2018-04-23 15:34 focus-lei 阅读(1232) 评论(0) 推荐(2) 编辑