Orleans 解决并发之痛(五):Web API 发表于 2017-08-19 | 分类于 Orleans | 阅读次数: 通过前面几篇文章的介绍,可能会疑问怎么在实际开发中调用 Grain,之前 Demo 的 Client 都是基于控制台应用程序,实际开发下可能是基于 Web Form、Web API、MVC……,由于一时短路了,没有联想到控制台应用程序的方式怎么切到其他方式调用。 这篇文章将会介绍基于 Web API ... 阅读全文 »
Orleans 解决并发之痛(四):Streams 发表于 2017-07-30 | 分类于 Orleans | 阅读次数: Orleans 提供了 Stream 扩展编程模型。此模型提供了一套 API,使处理流更简单和更健壮。Stream 默认提供了两种 Provider,Simple Message Stream Provider 和 Azure Queue Stream Provider,不同的流类型可能使用不同的 ... 阅读全文 »
Orleans 解决并发之痛(三):集群 发表于 2017-07-23 | 分类于 Orleans | 阅读次数: Orleans 本身的设计是一个分布式的框架,多个 Silo 构成集群,Grains 分布在多个 Silo 中。一旦一个 Silo 挂了,原来归属这个 Silo 的 Grains 会自动在其他 Silo 中激活。生产环境下还是需要以集群方式来部署。 在[ Orleans 解决并发之痛(二):Gra ... 阅读全文 »
Orleans 解决并发之痛(二):Grain 状态 发表于 2017-07-23 | 分类于 Orleans | 阅读次数: Grains 是 Orleans 应用程序的构建块,它们是彼此孤立的原子单位,分布的,持久的, 一个典型的 Grain 是有状态和行为的一个单实例,每个 Grain 实例的在单线程内执行,Grain 之间共享数据通过消息传递,Grains 是由 Silo 自动化管理。 Grain 之间传递消息过程中 ... 阅读全文 »
Orleans 解决并发之痛(一):单线程 发表于 2017-07-22 | 分类于 Orleans | 阅读次数: 程序在运行过程中有时会莫名其妙出现代码的某些约束或者执行结果和理想状况不一样,正常逻辑怎么会出现这样的情况?到底发生了什么?好像见了鬼!瞬间好无助。 大多数出现正常逻辑很难解释的时候,我们可能会想到并发问题,因为好像只有并发才会能说服自己。为了验证和解决这个问题,我们可能会尝试一些方案,在并发的情 ... 阅读全文 »
让多语言开发变得简单点 发表于 2017-05-19 | 分类于 i18N | 阅读次数: 实现方式大概两种:1、key使用方式: 在资源文件内定义 key,如果原语言是中文,key 通常是一个带含义的英文或者拼音;变态一点的就是 xxxx1111,xxxx1112(很荣幸,我们的项目很变态 /(ㄒoㄒ)/~~),然后在代码中通过 Resource.lang.xxxx1111 或者 lan ... 阅读全文 »
分分钟玩转UI自动化测试 发表于 2017-04-22 | 分类于 前端 | 阅读次数: 有没有那么一刻,看到自动模拟用户操作界面感觉好神奇。 关于什么叫 UI 自动化测试就不解释了,基本上是你刚才脑海里想到什么就是什么。 在分层自动化测试中包括:UI 测试、集成/接口测试、单元测试。大神告诉我:UI 自动化测试在自动化测试中占比只有10%。先不用在乎具体这个比例是什么,我们关注的是实 ... 阅读全文 »
.NET 微服务:gRPC 发表于 2017-04-16 | 分类于 微服务 | 阅读次数: 对于这个话题,我相信大家很容易想到,HTTP 接口的方式可以解决。 大概的做法类似这样: 根据 HTTP 接口需要的参数,将参数序列化成 json 字符串; 根据当前项目开发语言,封装一个处理 Post||Get 请求的方法,发送请求; 接口返回结果,然后反序列化成实体在逻辑代码中使用; ... 阅读全文 »