整套思路和想法是灵光一闪。我昨天去打了第二针。走完一整套流程,我发现整套流程规划很有意思。感觉整个过程非常符合近几年流行的微服务的架构思想。整个过程可以从断路器、限流、消息通知、队列、缓冲区、负载均衡等看出来。全局负载均衡一个城市,可以接种的人很多。当你需要接种疫苗时,你需要预约或注册,一旦预约完成,就相当于浏览器开始发起网络请求。一个城市有很多疫苗服务站。对于想接种疫苗的人来说,有很多地方可以选择,但用户并不知道哪些疫苗服务站是免费的,疫苗服务商可以为用户分配不同的服务。观点。而这个过程就是全局的负载均衡。全局负载均衡的关键技术是智能DNS,通过各种负载均衡策略,将客户端需要访问的域名解析到不同数据中心的不同线路,比如通过IP地理信息库解析到就近线路,或权衡不同线路的繁忙度解析为空闲线路等。至于疫苗服务商,就是将用户分配到附近的服务点,然后给用户出具可以接种的证明,告知用户可以接种疫苗。入口网关到达疫苗服务点后,首先进入入口。入口处会有几个保安人员,或者说服务人员。一次可能有一个人、几个人甚至几十个人来接种。当人数较少时(人数少于这些服务人员时),一些服务人员会闲置。人多的时候,他们会排队处理这些人员的问题,然后再分配到下一步。在这个过程中,服务人员实际上充当了网关的角色,对服务进行负载均衡,并将其发送到空闲位置。另外这个过程通常比较快,可以安排的人员也比较少,对应的服务器资源也比较少。入口处处理完号码后,用户将进入取号阶段。取号的时候会安排两个人处理。用户在入口处办理完毕后,以排队的形式进入取号区。入口是解决用户的一些问题,重新加载跟服,正式跟服会在拿号阶段开始。在取号过程中,将验证证书。如果没有可以接种的证明,会被告知不能接种。这个过程可以说是一个“拦截”过程,拦截不合理的服务请求。需要处理拦截后产生的交错异常,比如告诉用户如何获取凭证,如何预约。如果写成程序,这个过程需要特殊的异常处理,但是因为是人,所以会很灵活。在取号过程中,会顺便进行异常处理。它会询问用户是哪个社区,然后告知用户如何处理接下来的步骤。全局缓冲区缓冲区的程序概念这里不做解释。接种过程中要注意缓冲。取号后,用户会进入缓冲区,这是一个临时的舱室,里面有空调和椅子,用户可以在这里等候。有了buffer,用户就可以在buffer中有序的等待后续的服务,不会乱跑,便于管理。不会对后续服务产生直接影响。据我所见,这个缓冲区是最大和最重要的缓冲区。我称之为“全局缓冲区”。全局缓冲区。消息通知整个疫苗服务流程充满了消息通知,这要靠悬挂在每个服务点的扩音器。从程序设计的角度来看,消息通知的内容应该是轻量级的,足够简单,足够快速。对应这里的疫苗服务,消息确实够轻,基本上就是:“请在第2000号日期前到疫苗候诊室,请在第2000号日期前到疫苗候诊室,请在第2000号前到疫苗候诊室第2000次约会。”.看消息轻快就够了,消息轻快也够快。另外,可以看出这里说了三遍。这可以看作是一种消息重试方法。由于是一种单向的消息通信,多条消息可以保证接收消息的服务完全接收到消息。当然,可能会有人在这里上厕所,导致消息漏掉。对于在缓冲区等候的人员,可向缓冲区服务人员确认消息。而这里的serviceworker充当异常处理程序。在疫苗缓冲区接种疫苗的过程是产生实际服务的过程,疫苗服务是在室内进行的。进入房间时,会检查号码证。这个号码证明就是取号时得到的证明。另外,收到取号缓冲区消息通知的人进入疫苗接种流程,也进入一次缓冲区。但是buffer容量小,容量小所以速度会快一些。在缓冲区等待时,此时会收到消息通知。号码内用户收到消息通知后,即可进入疫苗接种流程。经门口安保人员核实后,进入接种疫苗的房间。队列队列也用于处理缓冲,但队列更轻。进入疫苗接种的实际流程后,您将排队等候服务。比如需要备案,需要核实是否是第二针疫苗。如果预约的是一次性疫苗服务,则进入一次性疫苗的相关流程。多工序处理接种疫苗的过程是一个多工序过程。对于备案来说,核实打了哪些针的过程也是一个多进程的过程。每个过程将由几个人处理。队列进入多进程验证流程,通过后会生成新的队列。但是验证后推送的队列是一样的。因为每个处理核销和备案的worker是不一致的,所以会出现并发。例如,两个人同时进入队列。这个过程会产生类似锁的效果。比如两个甚至三个人进入排队入口,工作人员就会让人们等候,然后迅速安排进入队列。而如果确实有太多用户进入队列,那么此时会进入一个小的缓冲区。你可以在这个缓冲区坐一会,或者选择看一会手机,等有空的时候再安排重新入队。实际接种进程会从这个队列中出队,重新进入多进程处理。这个过程似乎有点不合理。从逻辑上来说,应该是在建档和验证的多线程链接之后做的,然后直接流入后续绑定的疫苗接种人员,这样就不需要再次进入同一个队列。然后后续的疫苗接种工作人员会从队列中拿走。但实际上这种安排有一定的合理性。首先,办理备案核查的工作人员与实际接种疫苗的工作人员不匹配,所以进入排队后,统一安排是一个很好的解决办法,而且一般来说,不出意外的话,这个队列足够快。并且对于不够快的情况,提供了一个buffer来解决并发和阻塞的问题。监视、反馈、治理和监视很容易理解。将有专人对整个系统进行检查、反馈、协调和收集信息。有了这些东西,就可以为全局负载均衡提供信息,从而获得尽可能匹配的流量流入。从各方面收集到的信息,可以用来完善整个系统本身,让整个系统的资源得到更好的利用,让员工不会很累,一些员工也不会处于很闲的状态..并对内部问题进行修复和调整。集群和服务从整体上看,一个疫苗服务点其实可以看做是一个集群,因为最终的结果是多名工作人员给需要接种的人打疫苗,形成了一个疫苗接种集群。放大来看,每一个疫苗服务点(群)都足以构成一个完整的服务体系。如果把整个疫苗系统看成一个服务,那么各个政务服务系统就构成了整个城市,各个城市服务系统的相互调用就构成了一套完整的微服务架构。后记程序来源于对生活的抽象。有时候,想想生活场景,也是很有趣的。生活场景的思考可以加强对抽象的理解,抽象的思维可以提供现实生活的加工。指导。
