package main
import ( “fmt” “math/rand” )
func main() { fmt.Println(“My first lucky number is”, rand.Intn(10)) fmt.Println(“My senond lucky number is”, rand.Intn(10)) } 不论编译运行多少次,都是这个输出。 此程序的运行环境是固定的,因此 rand.Intn 总是会返回相同的数字。 (要得到不同的数字,需为生成器提供不同的种子数) package main
import ( “fmt” “math/rand” “time” )
func main() { rand.Seed(time.Now().Unix()) fmt.Println(“My first lucky number is”, rand.Intn(10)) fmt.Println(“My senond lucky number is”, rand.Intn(10)) }
SSO是为了解决一个用户在鉴权服务器登陆过一次以后,可以在任何应用中畅通无阻,一次登陆,多系统访问,操作用户是实打实的该应用的官方用户,用户的权限和分域以鉴权服务器的存储为准。
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。它的目的是打造一个高效、安全的Web平台。 http://tengine.taobao.org 继承Nginx-1.17.3的所有特性,兼容Nginx的配置; 支持HTTP的CONNECT方法,可用于正向代理场景; 支持异步OpenSSL,可使用硬件如:QAT进行HTTPS的加速与卸载; 增强相关运维、监控能力,比如异步打印日志及回滚,本地DNS缓存,内存监控等; Stream模块支持server_name指令; 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名; 输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便; 支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数 动态脚本语言Lua支持。扩展功能非常高效简单; 支持按指定关键字(域名,url等)收集Tengine运行状态; 组合多个CSS、JavaScript文件的访问请求变成一个请求; 自动去除空白字符和注释从而减小页面的体积 自动根据CPU数目设置进程个数和绑定CPU亲缘性; 监控系统的负载和资源占用从而对系统进行保护; 显示对运维人员更友好的出错信息,便于定位出错机器; 更强大的防攻击(访问速度限制)模块; 更方便的命令行参数,如列出编译的模块列表、支持的指令等; 可以根据访问文件类型设置过期时间; [2019-08-20] Tengine-2.3.2 开发版正式发布 (changelog)