尝试学习使用dockerfile构建docker容器,并上传构建的容器到公有库。中间参考了不少网友的博文,
1、首先编写Dockerfile。
继续阅读 »
Nginx得到反向代理前的真实IP
Java Servlet可以通过request.getRemoteAddr()得到请求的客户端的IP
现在一般情况下都不是直接用Tomcat或者Jetty这样的web容器,都会在前面加上Nginx或者Tengine之类的静态Web容器来反向代理。
由于经过了Nginx转发请求,通过request.getRemoteAddr()得到的IP就成了127.0.0.1
可以在Nginx配置里加上
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
这个意思是在nginx做反向代理的时候把代理前的地址放到http hea
继续阅读 »
1. 什么是路由
在Web开发过程中,经常会遇到『路由』的概念。那么,到底什么是路由?简单来说,路由就是URL到函数的映射。
2. router和route的区别
route就是一条路由,它将一个URL路径和一个函数进行映射,例如:
/users -> getAllUsers()
/users/count -> getUsersCount()
这就是两条路由,当访问/users的时候,会执行getAllUsers()函数;当访问/users/count的时候,会执行getUsersCount()函数。
而router可以理解为一个容器,或者说一种机制,它管理了一组route。简单来说,route只
继续阅读 »
事件调度器模块
记录下我们游戏里事件调度器模块, 用处, 代码结构。
我们用来注册一些事件到调度器, 调度器在做update的时候, 会检查容器内的事件, 事件的封装, 包含senderObj, receiveObj, id, delayFrameCount等等。 如果当前帧已经符合delayFrameCount的要求了, 就执行receiveObj.RecieveEvent()方法,将senderObj注册事件时的参数等, 带入RecieveEvent方法执行。
继续阅读 »
Null Layout
Null layout也称绝对布局管理器,如果一个容器使用绝对布局的话,那么其中的组件要调用setBounds()方法以确定在哪个位置显示组件,否则组件将不显示。 如果不用WindowsBuilder之类的界面开发插件,使用绝对定位将是一件痛苦的事。 在界面较复杂的情况下,一般不会使用绝对布局
继续阅读 »
go只提供了一种循环方式,即for循环,在使用时可以像c那样使用,也可以通过for range方式遍历容器类型如数组、切片和映射。但是在使用for range时,如果使用不当,就会出现一些问题,导致程序运行行为不如预期。比如,下面的示例程序将遍历一个切片,并将切片的值当成映射的键和值存入,切片类型是一个int型,映射的类型是键为int型,值为*int,即值是一个地址。
继续阅读 »
kubectl使用指定的配置文件
kubectl --kubeconfig /path/to/kubeconfig get no
进入pod中容器
kubectl exec -it -n ns pod-name /bin/sh
继续阅读 »
更新历史:
2018.07 初稿完成
2018.10 更新与 K8S 集成的一些命令和输出
Katacontainer 是 OpenStack 基金会于 2017 KubeCon 峰会上正式发布,在2018年5月份 OpenStack 温哥华峰会上对外发布1.0版本,并且在那届峰会上还有好几个关于 katacontainer 的演讲。我对 KataContainers 的具体实现原理不清楚,只知道它是一个轻量虚拟机实现,可以无缝地与容器生态系统(实现 OCI 接口)进行集成。
继续阅读 »
Spring简介
Spring框架由Rod Johnson开发,Rod Johnson's twitter,Rod Johnson's 百度百科,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。
Spring总结起来优点如下
* 低侵入式设计,代码的污染极低
* 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺
* Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦
* Spring的AOP支持允
继续阅读 »
微服务架构逐渐流行,基于容器的逐渐成为主流,加上Docker这样杀手级的应用出现,Go现在在构建微服务的上的优势越来越明显。因此需要选择一个开源的微服务框架进行学习,以帮助大家快速构建微服务。本文使用Go-kit说明其在构建微服务上的用法。以下内容来源于Go-Kit-Demo的翻译
继续阅读 »