分类目录:技术

聊聊微服务架构

互联网技术发展迅速的今天,微服务倍受关注:文章、博客、社交媒体讨论和会议演讲都在谈论。与此同时,也有持怀疑态度的软件社区人员认为微服务没什么新鲜可言。反对者声称它的思想只是面向服务架构的重塑。然而,无论是炒作还是怀疑,不可否认,微服务架构模…

gRPC使用实战

一. gRPC调用 在前面我们学习了使用gRPC框架实现服务的调用编程。在gRPC框架中,前面我们学习的在客户端与服务端之间通过消息结构体定义的方式来传递数据,我们称之为“单项RPC”,也称之为简单模式。除此之外,gRPC中还有数据流模式的…

gRPC远程过程调用

一. gRPC介绍和安装 1.1 什么是gRPC 1.1.1 gRPC介绍 gRPC是由Google公司开源的一款高性能的远程过程调用(RPC)框架,可以在任何环境下运行。该框架提供了负载均衡,跟踪,智能监控,身份验证等功能,可以实现系统间…

golang实现rpc远程调用

RPC         远程过程调用(Remote Procedure Call,缩写为 rpc)是一个计算机通信协议。 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。 如果涉及的软件采用面…

谷歌支付服务端校验

最近项目要接谷歌支付,如果之前结果国内的微信支付宝支付的话就对支付的流程非常熟悉了,我不必赘述。谷歌/苹果支付跟国内支付不一样的地方在于它不会主动回调业务的服务端,它是通过告诉客户端支付结果由客户端去调业务服务端进行发货之类的逻辑。为了安全…

redis存储数据占用内存大小估算

最近新项目很多地方需要用到redis,但由于是新项目,不知道数据量能做到多大,服务器数量又有限,从节约成本的角度考虑,服务器是能省则省。这个开发人员提出了新的挑战,对redis的使用必须做好充分的评估和规划。比如做一个在线实时排行榜,如果不…

彻底搞懂递归

说起递归函数,我们的第一反应是很绕,一层又一层,看的很晕。在上一篇文章中,实现排列组合算法很多地方用到了递归,这是一种很重要的设计思想,真正掌握它的原理之后就会豁然开朗:噢!原来这么简单! 我们把“递归”拆成两个字去看: 递:进去 归:出来…

php实现排列组合算法

需求: 在rpg游戏中,游戏各种配置非常复杂,例如:有一个奖励池A,B,C,D,可以根据配置的奖品数量3,从奖品池中随机取出对应数量的商品,这些商品的组合可能是:AAA,AAB,ABB,ABC,BCD…这就需要实现一个排列组合算…

一次redis内存爆满问题

某天项目突然挂了,通过查看错误日志如下: 通过报错信息,我们可以定位到是redis的内存用完了。 一.查看redis内存使用情况 通过info命令我们可以查看redis内存使用情况,以下是info命令的一些参数说明: [crayon-5f9…