摘要: 一、瞎扯点什么 1.1 阿波罗 ​ 阿波罗是希腊神话中的光明之神、文艺之神,同时也是罗马神话中的太阳神;他是光明之神,从不说谎,光明磊落,在其身上找不到黑暗,也被称作真理之神。他非常聪明,通晓世事,是预言之神。 后世各种各样的项目都喜欢以 命名,比如著名的美国登月计划:阿波罗计划; 既然携程以阿波罗 阅读全文
posted @ 2018-11-27 12:01 乔达摩 阅读(6012) 评论(25) 推荐(34) 编辑
摘要: stream1 写在前面 我一直以来使用redis的时候,很多低烈度需求(并发要求不是很高)需要用到消息队列的时候,在项目本身已经使用了Redis的情况下都想直接用Redis来做消息队列,而不想引入新的服务,kafka和RabbitMQ等; 奈何这兄弟一直不给力; 虽然 Redis 的Pub/Sub 阅读全文
posted @ 2021-09-14 23:53 乔达摩 阅读(520) 评论(0) 推荐(1) 编辑
摘要: Asp.net Core, 在我用过的多种Http REST 客户端: RestSharp WebApiClient Refit Flurl 中,Flurl可以说是最符合我口味的,用起来那可真的顺滑无比。 不过它因为出现的比较早,并没有使用asp.net core中的IHttpClientFacto 阅读全文
posted @ 2021-08-02 18:11 乔达摩 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 背景 我最近在一个Asp.net core Web 程序在经过nginx代理后 ,总是获取不到用户真实i和scheme(HttpContext.Request.Scheme),挠头; 我们一般从请求头获取用户ip:(我就用的这种 context.Request.Headers["X-Forwarde 阅读全文
posted @ 2021-07-27 18:53 乔达摩 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 背景 是这样的,我们前端服务器统一的入口是 kong网关 ,我们还有一个Nginx静态资源站点:static.mysite.com,根配置如下: location / { root /home/website/static/; index index.html; try_files $uri $ur 阅读全文
posted @ 2021-07-20 10:34 乔达摩 阅读(75) 评论(0) 推荐(0) 编辑
摘要:  写在前面 现每个后端的同学的日常都在跟服务(接口)打交道,维护老的比较大单体应用、按业务拆得相对比较细的新服务、无论企业内部用的,面向用户的前端的服务。流量大的有流量小的,有重要的有不那么重要的。 但是,不管怎样的服务,我们总思考过这样的问题:我能不能实时监控/查看服务的运行情况呢,服务一挂掉我 阅读全文
posted @ 2021-07-12 23:40 乔达摩 阅读(477) 评论(1) 推荐(2) 编辑
摘要: 背景 .net core Swashbuckle Swagger 官方文档:https://github.com/domaindrivendev/Swashbuckle.AspNetCore 我们发现很多小伙伴日常使用 Swashbuckle Swagger 都不看文档的,写下常需用到的配置/写法; 阅读全文
posted @ 2021-07-07 00:31 乔达摩 阅读(45) 评论(0) 推荐(0) 编辑
摘要:  写在前面 Api网关我们之前是用 .netcore写的 Ocelot的,使用后并没有完全达到我们的预期,花了些时间了解后觉得kong可能是个更合适的选择。 简单说下kong对比ocelot打动我的: 1、kong可以直接代替Nginx/OpenRestry做前端服务器。 2、kong的功能强大, 阅读全文
posted @ 2021-05-31 08:56 乔达摩 阅读(884) 评论(8) 推荐(9) 编辑
摘要: 我之前写了一个.net core 生成验证码的小工具 需要使用者先单独下载字体文件到本地在 install-package 感觉这样很捞也很不方便,但当时忙着做其他需求现在更新下。 其实很简单 visual studio 里面把文件属性设置为“嵌入的资源” 就行 批量设置: <ItemGroup> 阅读全文
posted @ 2021-05-20 11:36 乔达摩 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 写在前面 nuget部署工具, 无论是直接用web上传还是用命令行工具上传,还是其他第三方工具我都没找到满意,直到那天在群里提了一下,有位大佬说了个NuPackvs插件,用了下,感觉基本满足了我的需求,后面逐步对部署更新nuget没那么抗拒了; https://marketplace.visuals 阅读全文
posted @ 2021-05-14 14:41 乔达摩 阅读(59) 评论(0) 推荐(0) 编辑
摘要:  写在前面 很多neter都有在用Ocelot做Api网关,但是Ocelot又不像kong或者其他网关一样,开箱即用。它需要你单独开一个web项目来部署,这样很多同学都在做重复的事了。 这里[Hei.Ocelot.ApiGateway] 就把这件事给做了,以后有同学要用的话可以单独拉下代码来部署, 阅读全文
posted @ 2020-08-17 23:41 乔达摩 阅读(745) 评论(3) 推荐(6) 编辑
摘要:  写在前面 头发掉得多了,总有机会接触/调到各种各样的接口,各种面向Api编程实际上已经嵌入到我们的习惯中,没办法现在服务端通信还得是http(s),其他协议还未能成为通用的。 大厂的开发平台api我先不敢说,各种小公司、或者不少大公司内部之间,各种各样的的接口签名/授权方式可以说是尽显劳动人民智 阅读全文
posted @ 2020-08-16 23:10 乔达摩 阅读(1393) 评论(0) 推荐(2) 编辑
摘要: 写在前面 为了不违反广告法,我竭尽全力,不过“最佳实践”确是标题党无疑,如果硬要说的话 只能是个人最佳实践。 问题引出 ​ 可能很多新手都会遇到同样的问题:我要我的Asp.net Core 应用传统方式直接部署(host),docker部署(docker-compose),kubernetes(以下 阅读全文
posted @ 2020-08-03 23:56 乔达摩 阅读(908) 评论(8) 推荐(5) 编辑
摘要:  问题 是这样的,我.net core 2.1的项目,读取、获取Post请求内容的一段代码,大概这样: 但这段代码 在 .net core 3.1.0 和 .net core 3.1.2(没错特地升级过) 都读不到、获取不到Post的内容: 报异常: 解决 StartUp Configure 这里 阅读全文
posted @ 2020-03-22 00:12 乔达摩 阅读(2480) 评论(2) 推荐(0) 编辑
摘要: 写在前面 说起来比较丢脸。我们有个手机的验证码发送逻辑需要使用验证码,这块本来项目里面就有验证码绘制逻辑,.Net Framework的,使用的包是System.Drawing,我把这验证码绘制逻辑复制到.Net Core的新项目引用对比包System.Drawing.Common,windows下 阅读全文
posted @ 2019-08-01 00:13 乔达摩 阅读(2816) 评论(22) 推荐(30) 编辑
摘要:  写在前面 IdentityServer4的学习断断续续,兜兜转转,走了不少弯路,也花了不少时间。可能是因为没有阅读源码,也没有特别系统的学习资料,相关文章很多园子里的大佬都有涉及,有系列文章,比如: "晓晨" 大佬的:https://www.cnblogs.com/stulzq/p/811992 阅读全文
posted @ 2019-07-18 00:22 乔达摩 阅读(7430) 评论(4) 推荐(15) 编辑
摘要: 写在前面 是这样的,我们现在接口使用了Ocelot做网关,Ocelot里面集成了基于IdentityServer4开发的授权中心用于对Api资源的保护。问题来了,我们的Api用了 "SwaggerUI" 做接口的自文档,那就蛋疼了,你接入了IdentityServer4的Api,用SwaggerUI 阅读全文
posted @ 2019-05-10 23:26 乔达摩 阅读(3117) 评论(12) 推荐(13) 编辑
摘要:  写在前面 友情提示: Google reCAPTCHA(v3下同) 的使用不需要“梯子”,但申请账号的时候需要! Google reCAPTCHA 的使用不需要“梯子”,但申请账号的时候需要! Google reCAPTCHA 的使用不需要“梯子”,但申请账号的时候需要! 那天上班路上刷博客园, 阅读全文
posted @ 2019-04-22 22:37 乔达摩 阅读(2245) 评论(8) 推荐(4) 编辑
摘要: 最近在做的一个项目,用的.net core 2.1,然后缓存用的Redis,缓存相关封装是同事写的,用的驱动是 version ,一直听说这个驱动并发情况下有TimeOut bug,项目开发差不多后,我压测了一下,简单的模拟30个用户持续访问某一个有用到缓存的查询接口,结果这么小的压力下超时异常出 阅读全文
posted @ 2019-03-27 23:30 乔达摩 阅读(2385) 评论(3) 推荐(1) 编辑
摘要:  x下载自定义样式 http://afonsof.com/jenkins material theme/ 打开连接 最后点击: DOWNLOAD TOUR THEME! 得到样式文件:jenkins material theme.css 上传样式文件到jenkins 将jenkins materi 阅读全文
posted @ 2019-03-09 14:58 乔达摩 阅读(1919) 评论(0) 推荐(0) 编辑
摘要: jenkins安装后时间一直是utc时间,不太方便。 系统管理 脚本命令行 运行: 这就改回北京时间了: 阅读全文
posted @ 2019-03-09 14:57 乔达摩 阅读(1337) 评论(0) 推荐(0) 编辑