摘要:同步异步I/O,阻塞非阻塞I/O是程序员老生常谈的话题了,也是自己一直以来懵懵懂懂的一个话题。比如:何为同步异步?何为阻塞与非阻塞?二者的区别在哪里?阻塞在何处?为什么会有多种IO模型,分别用来解决问题?常用的框架采用的是何种I/O模型?各种IO模型的优劣势在哪里,适用于何种应用场景? 简而言之,对于I/O的认知,不能仅仅停留在字面上认识,了解内部玄机,才能深刻理解I/O,才能看清I/O相关问题的本质。 阅读全文
posted @ 2020-04-14 08:06 「圣杰」 阅读(2938) 评论(16) 推荐(28) 编辑
摘要:Orleans 是一个支持有状态云生应用/服务水平伸缩的基于Virtual Actor 模型的.NET分布式框架。 可以很好的结合.NET Core进行物联网云生应用的开发! 阅读全文
posted @ 2019-07-10 13:10 「圣杰」 阅读(13480) 评论(43) 推荐(46) 编辑
摘要:1. 问题简介 最近产品发布大版本补丁更新,一商超客户升级后,反馈系统经常奔溃,导致超市的收银系统无法正常收银,现场排队付款的顾客更是抱怨声声。为了缓解现场的情况, 客户都是手动回收IIS应用程序池才能解决。 这样的后果是很严重的,接到反馈,第一时间想到的是加内存吧,这样最快。但是客户从8G-->1 阅读全文
posted @ 2018-08-20 08:50 「圣杰」 阅读(14539) 评论(58) 推荐(121) 编辑
摘要:1. 引言 最近一段时间,系统新版本要发布,在beta客户测试期间,暴露了很多问题,除了一些业务和异常问题外,其他都集中在性能上。有幸接触到这些性能调优的机会,当然要学习总结了。 性能优化是一个老生常谈的问题了,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。而造成性 阅读全文
posted @ 2017-07-03 08:15 「圣杰」 阅读(17789) 评论(46) 推荐(113) 编辑
摘要:目录 "DDD理论学习系列(1) 通用语言" "DDD理论学习系列(2) 领域" "DDD理论学习系列(3) 限界上下文" "DDD理论学习系列(4) 领域模型" "DDD理论学习系列(5) 统一建模语言" "DDD理论学习系列(6) 实体" "DDD理论学习系列(7) 值对象" "DDD理论学习系 阅读全文
posted @ 2017-06-02 08:39 「圣杰」 阅读(9505) 评论(4) 推荐(7) 编辑
摘要:为了更好的学习设计模式,以及督促自己完成设计模式的学习,现提笔为记。 怎么的,每周至少也要学一个设计模式!!! 恳请大家的监督和不吝赐教,共同学习和进步! 内容主要参考自《设计模式之禅》以及相关网络博文! 源码路径: "源代码" C GitHub 目录 1. "想学设计模式,你得先会看类图,一张图读 阅读全文
posted @ 2017-02-14 17:42 「圣杰」 阅读(2156) 评论(1) 推荐(6) 编辑
摘要:1. 引言 在最新的eShopOnContainers 3.0 中Ocelot 网关被Envoy Proxy 替换。下面就来简要带大家了解下Envoy,并尝试梳理下为什么要使用Envoy替代Ocelot。 2. Hello Envoy ENVOY IS AN OPEN SOURCE EDGE AND 阅读全文
posted @ 2020-10-19 07:32 「圣杰」 阅读(1883) 评论(8) 推荐(19) 编辑
摘要:1. 引言 最近为了解决ABP集成CAP时无法通过拦截器启用工作单元的问题,从小伙伴那里学了一招。借助DiagnossticSource,可以最小改动完成需求。关于DiagnosticSource晓东大佬18年在文章 在 .NET Core 中使用 Diagnostics (Diagnostic S 阅读全文
posted @ 2020-10-10 08:03 「圣杰」 阅读(1996) 评论(12) 推荐(27) 编辑
摘要:Orleans 中文文档上线 阅读全文
posted @ 2020-08-29 22:51 「圣杰」 阅读(807) 评论(5) 推荐(11) 编辑
摘要:本文接将主要来介绍如何基于Helm快速部署Apollo集群至K8S,并与.NET Core应用进行集成,同时介绍下如何平滑迁移配置到Apollo。 阅读全文
posted @ 2020-08-20 08:32 「圣杰」 阅读(2812) 评论(19) 推荐(25) 编辑
摘要:体验一把Loki,从此爱上她,忘了她(ELK/EFK)! 阅读全文
posted @ 2020-07-27 06:48 「圣杰」 阅读(1414) 评论(1) 推荐(13) 编辑
摘要:薅羊毛啦,5分钟快速搭建免费Serverless邮件服务,每月可发25000封邮件!!! 阅读全文
posted @ 2020-07-22 23:19 「圣杰」 阅读(759) 评论(6) 推荐(5) 编辑
摘要:# 引言 最近翻看最新3.0 eShopOncontainers源码,发现其在架构选型中补充了 gRPC 进行服务间通信。那就索性也写一篇,作为系列的补充。 # gRPC 老规矩,先来理一下gRPC的基本概念。gRPC是Google开源的RPC框架,比肩dubbo、thrift、brpc。其优势在于 阅读全文
posted @ 2020-07-10 00:08 「圣杰」 阅读(1850) 评论(4) 推荐(7) 编辑
摘要:引言 之前的一篇介绍IO 模型的文章 "IO 模型知多少 | 理论篇" 比较偏理论,很多同学反应不是很好理解。这一篇咱们换一个角度,从代码角度来分析一下。 socket 编程基础 开始之前,我们先来梳理一下,需要提前了解的几个概念: socket: 直译为“插座”,在计算机通信领域,socket 被 阅读全文
posted @ 2020-05-12 08:55 「圣杰」 阅读(2203) 评论(13) 推荐(24) 编辑
摘要:同步异步I/O,阻塞非阻塞I/O是程序员老生常谈的话题了,也是自己一直以来懵懵懂懂的一个话题。比如:何为同步异步?何为阻塞与非阻塞?二者的区别在哪里?阻塞在何处?为什么会有多种IO模型,分别用来解决问题?常用的框架采用的是何种I/O模型?各种IO模型的优劣势在哪里,适用于何种应用场景? 简而言之,对于I/O的认知,不能仅仅停留在字面上认识,了解内部玄机,才能深刻理解I/O,才能看清I/O相关问题的本质。 阅读全文
posted @ 2020-04-14 08:06 「圣杰」 阅读(2938) 评论(16) 推荐(28) 编辑
摘要:如何实现多域名单站点部署? 阅读全文
posted @ 2020-03-02 08:20 「圣杰」 阅读(4149) 评论(15) 推荐(37) 编辑
摘要:前言 玩K8S也有一段时间了,借助云服务提供商的K8S控制台,已经可以很方便的快速部署应用至K8S。通过简单的点击,可以一次性帮忙创建K8S 对象:Deployment、Service、Ingress、ConfigMap等。但是当服务的规模上来后,这种方式就有点捉襟见肘。尤其是需要同时更新多个关联服 阅读全文
posted @ 2020-02-23 19:47 「圣杰」 阅读(1109) 评论(2) 推荐(8) 编辑
摘要:引言 Orleans 的优势之一就是:支持有状态服务的水平扩展。那这一节我们就来看看如何来了解下有状态的Grain。 第一个有状态的Grain 先来看下上节中定义的Grain: 上面的Grain中定义属性 用来保存登录状态,其是保存在内存中的,一旦服务奔溃或重启,维护的状态数据就会丢失。 很显然,这 阅读全文
posted @ 2020-02-10 19:59 「圣杰」 阅读(739) 评论(2) 推荐(4) 编辑
摘要:引言 时间如梭,娃都可以打酱油了。 转眼间第一个五年计划,已过了一半。 年终总结是个打脸的好地方,曾经夸下的海口,有的真的成了海口。 所幸,一切都在按好的方向发展。但乐观背后容易忽略潜在的问题,所以,在2020来临之际,是时候对2019做个具体的回顾,并对来年做个具体的展望。 谈成长 阅读全文
posted @ 2019-12-22 16:09 「圣杰」 阅读(877) 评论(8) 推荐(11) 编辑
摘要:1. 引言 是的, Orleans v3.0.0 已经发布了,并已经完全支持 .NET Core 3.0 。 所以,Orleans 系列是时候继续了,抱歉,让大家久等了。 万丈高楼平地起,这一节我们就先来了解下Orleans的基本使用。 2. 模板项目讲解 在上一篇文章中,我们了解到Orleans 阅读全文
posted @ 2019-10-28 09:18 「圣杰」 阅读(1998) 评论(15) 推荐(13) 编辑
摘要:引言 最近线上环境遇到一个问题,就是ASP.NET Core Web应用在单个容器使用正常,扩展多个容器无法访问的问题。查看容器日志,发现以下异常: 通过排查,发现了是由于 "ASP.NET Core Data Protection" 机制引起的。 Data Protection 机制 对于Data 阅读全文
posted @ 2019-10-11 11:37 「圣杰」 阅读(985) 评论(0) 推荐(0) 编辑
摘要:背景 ASP.NET Core默认的配置文件定义在 和`appsettings.{Environment}.json`文件中。 这里面有一个问题就是,在使用容器部署时,每次修改配置文件都需要重新构建镜像。当然你也可能会说,我的配置文件很稳定不需要修改,但你又如何确保配置文件中一些机密配置的安全问题呢 阅读全文
posted @ 2019-09-04 09:16 「圣杰」 阅读(2443) 评论(10) 推荐(12) 编辑
摘要:背景 在做微信公众号的改版工作,之前的业务逻辑全塞在一个控制器中,现需要将其按厂家拆分,但要求入口不变。 拆分很简单,定义控制器基类,添加公用虚方法并实现,各个厂家按需重载。 但如何根据统一的入口参数路由到不同的控制器呢? 最容易想到的方案无外乎两种: 1. 路由重定向 2. 路由重写 简易方案 但 阅读全文
posted @ 2019-08-29 08:49 「圣杰」 阅读(1760) 评论(1) 推荐(3) 编辑
摘要:Orleans 术语解读 上面这张图中包含了Orleans中的几个核心概念: 1. Grain 2. Silo 3. Orleans Cluster 4. Orleans Client 从这张图,我们应该能理清他们之间的关系。 1. Grain作为最小的执行单元 2. Silo 是 Grain 的宿 阅读全文
posted @ 2019-07-22 09:05 「圣杰」 阅读(2357) 评论(7) 推荐(15) 编辑
摘要:Orleans 是一个支持有状态云生应用/服务水平伸缩的基于Virtual Actor 模型的.NET分布式框架。 可以很好的结合.NET Core进行物联网云生应用的开发! 阅读全文
posted @ 2019-07-10 13:10 「圣杰」 阅读(13480) 评论(43) 推荐(46) 编辑
摘要:1. 引言 断断续续,感觉这个系列又要半途而废了。趁着假期,赶紧再更一篇,介绍下如何将eShopOnContainers部署到K8S上,进而实现大家常说的微服务上云。 2. 先了解下 Helm 读过我上篇文章 "ASP.NET Core 借助 K8S 玩转容器编排" 的同学,想必对K8S有了个大致了 阅读全文
posted @ 2019-04-06 22:06 「圣杰」 阅读(1745) 评论(1) 推荐(4) 编辑