随笔 - 130,  文章 - 0,  评论 - 282,  阅读 - 23万
  2023年9月5日

经过漫长的设计和调试,本人主导的replication功能终于在Azure SignalR上实现了出来,并且进入了公开预览阶段。那么replication和使用sdk做sharding有什么不同和相同点哪?

先说说相同点:

  • 备灾,如果一个region出现了软件或硬件问题,还有其它region可以使用。
  • 分流,每个region的负载不会过大。
  • 提速,客户端就近找节点,而不是去傻傻的绕地球半圈。

再说说有什么不同:

  • replication只需要一个连接字符串,而sharding需要n个。
  • 提速跟简单,不需要用户使用traffic manager或者其它方式找最近的节点, 服务内部直接集成了traffic manager。
  • 更好的支持serverless,SignalR服务下的Web PubPub服务就因为没有sdk的支持,无法简单的实现sharding,如今就可以无脑点replica。
  • 加减节点跟容易,只需portal上一点就可以添加或减去一个节点,不需要修改连接字符串或者任何配置(当然为了更好的性能,需要在新的region部署app server)。
  • 跟智能的流量控制,与sharding不同的是,app server只需提交一份消息到任何一个replica上,这消息就会被传输给每个需要的replica,而不是由sdk负责发生n份消息到n个节点上。

那么,再说说和replication相关的功能吧:

  • 只有Premium才可以建replica。
  • Scale out————支持,而且是每个replica分别scale,也可以分别设置auto scale。
  • Private Endpoint————支持,到整个实例的,也就是默认连接到最近的region。
  • Shared Private Endpoint————不支持,因为每次添加region,都可能需要人工审批,从而破坏replica的可用性,因此该功能被排除。
  • 其他所有功能(CORS,Settings,Identity,Network ACL)都是整个实例设置,自动应用到所有replica。

当然,由于replication现在不能跨cloud使用,所以的中国的实例不能在建立中国区外建立replica,同样全球的实例也不能在中国建replica。

posted @ 2023-09-05 16:17 Zhenway 阅读(40) 评论(1) 推荐(1) 编辑
  2022年10月18日
摘要: 自从离开docfx组,一晃就好几年没写blog了。加上几乎所有的空闲时间都被两个娃占了,今天好不容易有点时间写写文章。最近几年一直在Azure SignalR组里混日子,就来说说Azure SignalR的各种事情。 不知道大家是否了解SignalR,简单的说就是.net上的一个websocket的 阅读全文
posted @ 2022-10-18 16:01 Zhenway 阅读(102) 评论(0) 推荐(1) 编辑
  2018年7月27日
摘要: 最近有人问我怎么定制一个json序列化,使序列化的时候只写出声明的父类成员,而不要把实际子类的成员写出来。当然,序列化用的是大家用的最多的json.net。 简单的说,这是个契约怎么解析的问题,json.net选择使用实际类型自然是有多方面的考量,毕竟申明类型可以是抽象类或接口等。废话不说了,直接上 阅读全文
posted @ 2018-07-27 13:34 Zhenway 阅读(149) 评论(0) 推荐(0) 编辑
  2016年2月16日
摘要: 今天一天折腾了这么一个正则 new Regex(@"^!?\[((?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*)\]\s*\(\s*<?((?:[^()]|\((?<DEPTH>)|\)(?<-DEPTH>))+?(?(DEPTH)(?!)))>?(?:\s+(['"" 阅读全文
posted @ 2016-02-16 23:19 Zhenway 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 在docfx中把元数据以yaml的形式保存,在metadata阶段会序列化数据到yaml文件中,在build阶段又需要从yaml文件反序列化出来。在使用过程中,意外发现yamldotnet在处理大量强类型数据时性能奇差,将yaml反序列化为弱类型后,再序列化为json,再从json反序列化为强类型, 阅读全文
posted @ 2016-02-16 22:44 Zhenway 阅读(1038) 评论(0) 推荐(0) 编辑
  2015年12月30日
摘要: 参考:https://myget.org/gallery/docfx-dev 根据对应的vs或nuget版本中添加地址。PS:daylybuild可能包含很多错误哦。 阅读全文
posted @ 2015-12-30 22:11 Zhenway 阅读(277) 评论(5) 推荐(0) 编辑
  2015年12月25日
摘要: 废话不多说了,直接上地址:源代码: https://github.com/dotnet/docfx文档: http://dotnet.github.io/docfx/clonegit clone https://github.com/dotnet/docfx.gitbuild准备:install I... 阅读全文
posted @ 2015-12-25 21:39 Zhenway 阅读(708) 评论(0) 推荐(0) 编辑
  2015年12月18日
摘要: 在docfx中,最重要的就是生成文档,把markdown文件(gfm语法)转换成html。 为了这一步,我们找了N个.net开源项目,发现要么是common markdown的,要么不容易扩展,没有一个是基于gfm的并且很容易扩展的语法的markdown开源项目。无奈之下,再找.net下执行j... 阅读全文
posted @ 2015-12-18 20:00 Zhenway 阅读(2068) 评论(0) 推荐(0) 编辑
  2015年11月9日
摘要: 奋战了几个月,docfx终于有些像样了。预览文档: http://aspnet.github.io/docfx/源代码正在准备开源中Nuget包很快会发布FAQ:Q: docfx是什么?A: docfx是一个api文档编译软件,它能根据c#/vb源代码生成对应的文档元数据并生成文档(目前提供html... 阅读全文
posted @ 2015-11-09 22:26 Zhenway 阅读(599) 评论(2) 推荐(1) 编辑
  2014年11月29日
摘要: 前一段时间,碰到一个问题,后端提供的API是批量接口,允许在一个HTTP请求中放上N个业务上的请求,一起处理,完成后一起返回,但是我们的前端又是以单个请求为主,这样势必导致很多http请求仅仅包含单个业务请求,大量的把带宽浪费在http head,以及把cpu浪费在http协议的解析上,而改写现... 阅读全文
posted @ 2014-11-29 16:06 Zhenway 阅读(4507) 评论(0) 推荐(0) 编辑
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示