Fork me on GitHub
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 24 下一页
摘要: Supervision,字面意思是监督,是父Actor发现子Actor有异常发生后,对子Actor产用保种策略处理的机制,如果父Actor不处理,则往上传递。 阅读全文
posted @ 2018-08-31 09:39 桂素伟 阅读(1121) 评论(1) 推荐(0)
摘要: 邮箱是Actor模型的一个重要组成部分,负责接收发过来的消息,并保存起来,等待Actor处理。邮箱中维护着两种队列,一种是存系统消息,另一个是存用户消息,系统省是指Started,Stoping,Stoped之类的,用户当然指我们自定义的Actor。 另外,我们可以通过实现IMailboxStatistics接口,来获取邮箱的状态变更,并且可以有多个IMailboxStatistics实现。 阅读全文
posted @ 2018-08-30 08:35 桂素伟 阅读(1052) 评论(2) 推荐(0)
摘要: PID对象是代表Actor对象的进程,是能过Actor.Spawn(props)获取的;它有什么成员呢?既然代理Actor,首先有一个ID,标识自己是谁,Actor在Spawn时可以命名这个ID,否则会自动生成。还有三种向邮箱发消息的方法,Tell(),Request(),RequestAsync(),还有一个发送系统消息(Started,Stoping,Stoped等)方法SendSystemMessage(),还有一个停止的方法Stop()。 阅读全文
posted @ 2018-08-29 08:58 桂素伟 阅读(1104) 评论(0) 推荐(1)
摘要: Props是配置Actor和实例化Actor,那实例化后,就应该访问了,Props.Actor提供了Actor.Spawn(),Actor.SpawnPrefix(),Actor.SpawnNamed()三个方法,来获取Actor实例,需要注意的是,这些方法返回的并不是真正的Actor对象,而是一个ProgressID,一个代表Actor对象的进程ID,缩写PID。 阅读全文
posted @ 2018-08-28 09:05 桂素伟 阅读(1020) 评论(0) 推荐(0)
摘要: 在第一篇Proto.Actor博文中,HelloWorld的第一行真正代码是: var props = Actor.FromProducer(() => new HelloActor()); 这个返回的变量props就是一个Props的对象,它是负责创Actor实例,以及配置Actor实例,并且产Actor上下文Context(类似asp.net中的Context)。 阅读全文
posted @ 2018-08-27 09:05 桂素伟 阅读(2301) 评论(5) 推荐(2)
摘要: 在微服务中,数据最终一致性的一个解决方案是通过有状态的Actor模型来达到,那什么是Actor模型呢? Actor是并行的计算模型,包含状态,行为,并且包含一个邮箱,来异步处理消息。 关于Actor的介绍可参考: https://www.jianshu.com/p/449850aa8e82 https://www.jianshu.com/p/db04cab86ab9 对于.net下的Actor模型有akka.net, Microsoft Orleans,在这里我们介绍的是另外一个Actor模型Proto.Actor。 阅读全文
posted @ 2018-08-26 19:11 桂素伟 阅读(2118) 评论(1) 推荐(3)
摘要: Swagger作为WebAPI的文档工具,广为人知,Swagger对asp.net core的支持也几近完美,这篇博文不是对asp.net core中使用Swagger作介绍,因为社区博客作了详细说明。 今天主要说一下Swagger在Ocelot网关权限验证模式下的访问,以及Swagger请求应答的数据格式。 阅读全文
posted @ 2018-07-02 13:57 桂素伟 阅读(4422) 评论(3) 推荐(7)
摘要: Ocelot作为基于.net core的API方关,有一个功能是统一验证,它的作用是把没有访问权限的请求挡在API网关外面,而不是到达API网关事端的API时才去验证;之前我有一篇博文https://www.cnblogs.com/axzxs2001/p/8005084.html,作过说明,这篇博文说明了实现代码,今天我把这个实现作了整理,封装成一个Nuget包,供大家方便调用。 阅读全文
posted @ 2018-07-01 17:08 桂素伟 阅读(6147) 评论(7) 推荐(10)
摘要: 关于Consul(https://www.consul.io)是一个分布式,高可用,支持多数据中心的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源。 在Consul的文档上,Consul 支持Service Discovery, Health Checking, Key/Value Store, Multi DataCenter。运用Consul,可以在系统中build复杂的应用和服务的发现等。本文不是Consul的学习重点,关于更多Consul的学习,可参考:http://blog.csdn.net/column/details/consul.html 阅读全文
posted @ 2018-03-01 11:18 桂素伟 阅读(25689) 评论(19) 推荐(19)
摘要: Ocelot(https://github.com/TomPallister/Ocelot)是一个用.net core实现的API网关,Butterfly(https://github.com/ButterflyAPM/butterfly)是用.net core实现的全程序跟踪,现在,Ocelot中可以使用Butterfly了,关于Ocelot和Butterfly具体功能参见各自的github站点,关于Ocelot和Butterfly组合实现,参数张善友博客http://www.csharpkit.com/2018-02-04_51207.html,本篇博客讲述一个案例的实现。 阅读全文
posted @ 2018-02-27 13:20 桂素伟 阅读(2817) 评论(7) 推荐(3)
摘要: 网关的作用之一,就是有统一的数据出入口,基于这个功能,我们可以在网关上配置监控,从而把所有web服务的请求应答基本数据捕获并展显出来。 阅读全文
posted @ 2017-12-08 14:05 桂素伟 阅读(3545) 评论(2) 推荐(1)
摘要: 一篇,我们创建了OcelotGateway网关项目,DemoAAPI项目,DemoBAPI项目,为了验证用户并分发Token,现在还需要添加AuthenticationAPI项目,也是asp.net core web api项目,整体思路是,当用户首次请求(Request)时web服务,网关会判断本请求有无Token,并是否正确,如果没有或不正确,就会反回401 Unauthorized;如果请求调用登录,正确输入用户名或密码,AuthenticationAPI会验证并分发Token;当客户端带上Token再次访问web服务时,网关就会放过本请求,当请求到达web服务时,web服务要对本Token进行授权验证,如果有访问请求的地址,会成功返回应答,负责会提示没有权验,所以只要具有正确的Token,应答返回都是200 OK,因为Token正确,只是没有权限访问请求的内容。 阅读全文
posted @ 2017-12-08 14:01 桂素伟 阅读(9310) 评论(16) 推荐(7)
摘要: Ocelot是一个.net core框架下的网关的开源项目,下图是官方给出的基础实现图,即把后台的多个服务统一到网关处,前端应用:桌面端,web端,app端都只用访问网关即可。 阅读全文
posted @ 2017-12-08 13:51 桂素伟 阅读(4904) 评论(18) 推荐(5)
摘要: 在对业务层进行单元测试时,因为业务层调用到数据处理层,所以要用Moq去模拟DbContext,这个很容易做到,但如果操作DbContext下的DbSet和DbSet下的扩展方法时,就会抛出一个System.NotSupportedException异常。这是因为我们没办法Mock DbSet,并助DbSet是个抽象类,还没有办法实例化。 阅读全文
posted @ 2017-11-03 11:24 桂素伟 阅读(1408) 评论(1) 推荐(2)
摘要: JWT(json web token)是一种基于json的身份验证机制,流程如下: 通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源。关于JWT的技术,可参考网络上文章,这里不作详细说明, 这篇博文, 阅读全文
posted @ 2017-09-16 12:49 桂素伟 阅读(12999) 评论(40) 推荐(23)
摘要: 在《asp.net core认证与授权》中讲解了固定和自定义角色授权系统权限,其实我们还可以通过其他方式来授权,比如可以通过角色组,用户名,生日等,但这些主要取决于ClaimTypes,其实我们也可以自定义键值来授权,这些统一叫策略授权,其中更强大的是,我们可以自定义授权Handler来达到灵活授权,下面一一展开。 阅读全文
posted @ 2017-09-06 08:07 桂素伟 阅读(8315) 评论(18) 推荐(11)
摘要: 在asp.net core中,微软提供了基于认证(Authentication)和授权(Authorization)的方式,来实现权限管理的,本篇博文,介绍基于固定角色的权限管理和自定义角色权限管理,本文内容,更适合传统行业的BS应用,而非互联网应用。 阅读全文
posted @ 2017-09-06 07:56 桂素伟 阅读(22725) 评论(28) 推荐(18)
摘要: 很多时候我们去自定义一些类型,更有些时候我们会把这些自定义类型封装成集合,比如说现在有一个自定义类型User/// <summary> /// 用户 /// </summary> class User { /// <summary> /// 用户ID /// </summary> public int ID { get; set; } /// <summary> /// 用户名 /// </summary> public string UserName { get; set; } /// <summary> / 阅读全文
posted @ 2011-04-04 10:14 桂素伟 阅读(2153) 评论(6) 推荐(3)
摘要: 4月24日,很有幸同西亚斯的励志工作室的的同学见面,他们是专门研究开发.net的一个工作室,大家一起学习,一起进步,是一个不错的团队。在这里,我和大家一起分享了关于vs2010的敏捷开发,主要内容从UML架构设计,数据库设计,代码开发,代码测试等方面介绍了vs2010的开发模式。西亚斯是个美丽的地方,不但环境优美,学生们的思想也很活跃,应该是个出人才的地方。 阅读全文
posted @ 2010-04-30 10:42 桂素伟 阅读(969) 评论(0) 推荐(0)
摘要: 今天,活动的形式比较特别,活动是在公园里举行,到场有近30位朋友,活动的内容谈及vs2010的新特性,vs2010的敏捷开发,C#4.0等方面的内容。会后,大家抽取微软提供的礼品。因为在公园,还是周末,我们的宣传广告有很多人看,还有很多人驻足观看,有的朋友还能听上半个小时,看来喜欢 IT的人越来越多了。现场交流 阅读全文
posted @ 2010-04-29 20:26 桂素伟 阅读(587) 评论(0) 推荐(1)
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 24 下一页