如何搭建PHP微服务集群

微服务架构

微服务的概念由 Martin Fowler 于2014年3月提出:

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通。每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

Read More

Go语言在goroutine中拿到协程返回值

最近在工作中面对比较复杂的业务处理、需要并发去拿多个结果的值 然后进行组装、计算等操作,总结一下使用goroutine的过程

go语言在执行goroutine的时候、是没有返回值的、这时候我们要用到go语言中特色的channel来获取返回值。 通过channel拿到返回值有两种处理方式,一种形式是具有go风格特色的,即发送给一个for channelselect channel 的独立goroutine中,由该独立的goroutine来处理函数的返回值。还有一种传统的做法,就是将所有goroutine的返回值都集中到当前函数,然后统一返回给调用函数。

Read More