-
动手造轮子:基于 Redis 实现 EventBus
所属栏目:[C语言] 日期:2020-12-15 热度:176
动手造轮子:基于 Redis 实现 EventBus Intro 上次我们造了一个简单的基于内存的 EventBus ,但是如果要跨系统的话就不合适了,所以有了这篇基于 Redis 的 EventBus 探索。 本文的实现是基于 StackExchange.Redis 来实现的。 RedisEventStore 实现 既然要实[详细]
-
powershell 更新 IIS SSL 证书
所属栏目:[C语言] 日期:2020-12-15 热度:183
powershell 更新 IIS SSL 证书 Intro 最近发现我们开发环境的 IIS 上的 SSL 证书过期了,为了后面方便维护和更新,搞了一个 powershell 脚本,以后要更新的时候直接跑一下脚本就可以了,所以有了这篇文章 Solution 更新过程: 移除之前老的证书 导入新的证书[详细]
-
使用 kind 快速搭建 kubernetes 环境
所属栏目:[C语言] 日期:2020-12-15 热度:83
使用 kind 快速搭建 Kubernetes 环境 Intro kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适合用来在本地搭建基于 Kubernetes 的开发/测试环境。 想写一篇 kind 的文章很久了,但是之前的 kind 都会有一个问题,每次系[详细]
-
Github原生CI/CD,初尝Github Actions
所属栏目:[C语言] 日期:2020-12-15 热度:160
Github 原生 CI/CD,初尝 Github Actions Intro Github 目前已经推出了自己的 CICD 服务 —— Github Actions,而且比微软的 Azure DevOps Pipelines 对开发者来说更友好,使用起来更好用。 Github Actions 核心概念 总体看下来感觉是从 Azure Pipelines 迁[详细]
-
使用 postman 给 API 写测试
所属栏目:[C语言] 日期:2020-12-15 热度:94
使用 postman 给 API 写测试 Intro 上次我们简单介绍了 使用 postman 测试 API,这次主要来写一些测试用例以检查请求的响应是否符合我们的预期以及如何使用脚本测试 使用 postman 内置的随机变量 postman 内置的有一些产生随机值的变量,在发送请求时随机生[详细]
-
持续集成之 Nuget 进阶
所属栏目:[C语言] 日期:2020-12-15 热度:146
持续集成之 Nuget 进阶 Intro 之前介绍了一篇基于 Azure pipeline 的 nuget 包的持续集成配置,但是比较粗糙,这里介绍一下结合 Cake 实现更优雅的 nuget 包发布流程。 实现目标: 分支(除master/preview)有代码 push 或者 pr 时 自动 build preview 分支有[详细]
-
ocelot 自定义认证和授权
所属栏目:[C语言] 日期:2020-12-15 热度:138
ocelot 自定义认证和授权 Intro 最近又重新启动了网关项目,服务越来越多,每个服务都有一个地址,这无论是对于前端还是后端开发调试都是比较麻烦的,前端需要定义很多 baseUrl,而后端需要没有代码调试的时候需要对每个服务的地址都收藏着或者记在哪里,用[详细]
-
让 Ocelot 与 asp.net core “共存”
所属栏目:[C语言] 日期:2020-12-15 热度:165
让 Ocelot 与 asp.net core “共存” Intro 我们的 API 之前是一个单体应用,各个模块的服务是通过 Assembly 集成在一起,最后部署在一个 web server 下的。 我们已经在拆分服务并且在 Ocelot 的基础上封装了我们自己的网关,但是服务还没有完全拆分,于是有[详细]
-
你需要知道的缓存击穿/穿透/雪崩
所属栏目:[C语言] 日期:2020-12-15 热度:147
目录 缓存击穿/穿透/雪崩 Intro 缓存击穿 缓存穿透 缓存雪崩 Reference Contact 缓存击穿/穿透/雪崩 Intro 使用缓存需要了解几个缓存问题,缓存击穿、缓存穿透以及缓存雪崩,需要了解它们产生的原因以及怎么避免,尤其是当你打算设计自己的缓存框架的时候需[详细]
-
监控 redis 执行命令
所属栏目:[C语言] 日期:2020-12-15 热度:93
监控 redis 执行命令 Intro 最近在用 redis 的时候想看看执行了哪些命令,于是发现了 redis-cli 提供的 Monitor 命令,直接使用这个就可以监控执行的大部分 redis 命令,之所以说是大部分,是因为有一些命令如: config 出于安全原因是不会记录的。 Monitor[详细]
-
通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署
所属栏目:[C语言] 日期:2020-12-15 热度:126
通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署 Intro Azure DevOps Pipeline 现在对于公开的项目完全免费,这对于开源项目来讲无疑是个巨大的好消息,在 Github 的 Marketplace 里有个 Azure Pipeline,就是微软的 Azure DevOps Pipeline。[详细]
-
新版的nuget包 PackageLicense 这样写
所属栏目:[C语言] 日期:2020-12-15 热度:50
Intro 最近编译类库项目的时候发现总是有个 licenseUrl 的警告,警告信息如下: warning NU5125: The 'licenseUrl' element will be deprecated. Consider using the 'license' element instead 本文针对的是使用新版项目文件打包的方式,*.nuspec 官方文档[详细]
-
Centos 配置开机启动脚本启动 docker 容器
所属栏目:[C语言] 日期:2020-12-15 热度:164
Centos 配置开机启动脚本启动 docker 容器 Intro 我们的 Centos 服务器上部署了好多个 docker 容器,因故重启的时候就会导致还得手动去手动重启这些 docker 容器,为什么不写个脚本自动重启呢,于是就有了这篇文章。 批量启动 Docker 容器 之前我们有提到过[详细]
-
访问vsts私有nuget
所属栏目:[C语言] 日期:2020-12-15 热度:105
访问vsts私有nuget Intro 有时候我们可能要自己搭建一个 nuget,如果不对外公开,即包浏览也是需要权限的,那我们应该怎么做才可以支持在哪里都可以正常的还原包呢? 我是在 VSTS(Visual Studio Team Service) 上新建了一个私有的 nuget,下面介绍怎么做才能[详细]
-
精简你的 docker 镜像
所属栏目:[C语言] 日期:2020-12-15 热度:53
精简你的 docker 镜像 Intro 现在 docker 的使用越来越普遍,今天来谈一下如何精简你的 docker 镜像 为什么要精简 docker 首先来说说为什么要精简 docker 镜像,减小了之后有什么样的好处? 较小的 docker 镜像下载更快,对于网络不太好的童鞋大镜像简直就是[详细]
-
Skywalking部署常见问题以及注意事项
所属栏目:[C语言] 日期:2020-12-15 热度:195
Skywalking部署常见问题以及注意事项 Intro SkyWalking ?创建与2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的Application Performance Management系统。 他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。[详细]
-
Http 压测工具 wrk 基本使用
所属栏目:[C语言] 日期:2020-12-15 热度:190
Http 压测工具 wrk 基本使用 Intro wrk 是一款现代HTTP基准测试工具,能够在单个多核CPU上运行时产生显着负载。它将多线程设计与可扩展事件通知系统(如epoll和kqueue)结合在一起。 官方描述: wrk is a modern HTTP benchmarking tool capable of generati[详细]
-
你可能不知道的 docker 命令的奇淫怪巧
所属栏目:[C语言] 日期:2020-12-15 热度:58
你可能不知道的 docker 命令的奇淫怪巧 Intro 分享一些可能会用到的一些简单实用却可能是你不知道的 docker 命令 dangling images build 自己的 docker 镜像的时候,有时会遇到用一个甚至多个中间层镜像,这会一定程度上减少最终打包出来 docker 镜像的大小[详细]
-
常见跨域解决方案以及Ocelot 跨域配置
所属栏目:[C语言] 日期:2020-12-15 热度:184
常见跨域解决方案以及Ocelot 跨域配置 Intro 我们在使用前后端分离的模式进行开发的时候,如果前端项目和api项目不是一个域名下往往会有跨域问题。今天来介绍一下我们在Ocelot网关配置的跨域。 什么是跨域 跨域: 浏览器对于javascript的同源策略的限制,例如a[详细]
-
asp.net core 集成 log4net 日志框架
所属栏目:[C语言] 日期:2020-12-15 热度:61
asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 LoggerProvider 的话就需要借助第三方日志框架实现了,而一些第三方框架的实现大多比较完善和成熟,不失为一个[详细]
-
使用 `ConfigMap` 挂载配置文件
所属栏目:[C语言] 日期:2020-12-15 热度:166
使用 ConfigMap 挂载配置文件 Intro 有一些敏感信息比如数据库连接字符串之类的出于安全考虑,这些敏感信息保存在了 Azure KeyVault 中,最近应用上了 k8s 部署,所以想把 Azure KeyVault 的信息迁移到 ConfigMap ,不再依赖 Azure KeyVault 。 ConfigMap 新[详细]
-
持续集成之应用k8s自动部署
所属栏目:[C语言] 日期:2020-12-15 热度:135
持续集成之应用k8s自动部署 Intro 上次我们提到了docker容器化及自动化部署,这仅仅适合个人项目或者开发环境部署,如果要部署到生产环境,必然就需要考虑很多因素,比如访问量大了如何调整部署,如何更好的应对大并发的情况,如何不停机更新应用,如果想要[详细]
-
使用 certbot 申请泛域名https证书
所属栏目:[C语言] 日期:2020-12-15 热度:59
使用 certbot 申请泛域名https证书 Intro Certbot 是一个基于 Let's Encrypt 的自动化申请证书的工具,支持的系统和web server也很多,详见 Certbot 官网 Certbot 有一些 dns 插件可以自动化的不需要手动设置 dns 等方式来验证域名的所属,但是基本是一些国[详细]
-
使用docker部署skywalking
所属栏目:[C语言] 日期:2020-12-15 热度:120
使用docker部署skywalking Intro 之前在本地搭建过一次 skywalking + elasticsearch ,但是想要迁移到别的机器上使用就很麻烦了,于是 docker 就成了很方便的解决方式,只要 dockerfile / docker-compose 定了下来在哪里跑都是一样的。 构建 Docker 镜像 可[详细]
-
HTTPS 证书配置
所属栏目:[C语言] 日期:2020-12-15 热度:198
HTTPS 证书配置 现在阿里云和腾讯云都支持申请 HTTPS 证书,这里不再提,有需要的可自行google解决方案。 本文主要介绍的是通过 letsencrypt 申请免费的HTTPS证书,并将其配置在IIS WEB服务器上。 0. 申请 HTTPS 证书 在 https://www.sslforfree.com/ 申请证[详细]