Springcloud 应用(7) 路由(route)

Submitted by Lizhe on Sat, 07/08/2017 - 23:17

要使用路由的话需要添加一个新的路由服务

别害怕,这东西甚至连个java controller都没有

如果仅仅是使用url路由器的话加入下面的依赖就好了

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
        </dependency>

如果需要service id路由器的话, 还有加上

如何快速构建开发原型

Submitted by Lizhe on Sat, 07/08/2017 - 14:27

Brian (还是稍不留神就能打成brain =。=) 的offer差不多到手了, 为了感谢我的技术支持拉着Roc和Maven 晚上小聚了一下

总的来说我还是非常喜欢他抛给我那两套题的 ( 额...如果这东西能算是题的话 ) , 基本就是个大学生的期末大作业

第一个项目我已经提过了 如何创建restful api

个人觉得第一个项目命题的面试官明显是想考察interviewee如何进行技术选型, 如何组织代码结构, 如何处理异常, 如何进行集成和发布

第二个项目是一个竞拍系统, 题目大概是这样的

我需要一个竞拍系统, 参与的角色有一些owner,bidder什么的, 被拍卖物品只有一种是钻石, owner需要知道当前的最高价, bidder需要知道自己的报价在第几名, 然后这些数据要实时刷新

这个命题是中午11点给出的,下午1点就要面试,打电话的时候Brian在北京, 他讲完需求以后就开始问我

你看我这样设计类行不行 ( 然后他开始巴拉巴拉的讲了一堆class Owner, class Bidder 什么的 )

Springcloud 应用(4) 服务负载均衡

Submitted by Lizhe on Fri, 07/07/2017 - 16:04

为了在原有例子中添加一个helloworld服务的负载, 需要新建2个类

  • helloworld服务的一个拷贝
  • client服务, 用于请求这两个负载

 

对于服务拷贝来说, 其实只要修改一下端口, 只要端口不冲突启动两个实例就好了, 两个实例的其他内容一模一样, 都注册给同一个注册中心

你也可以像我一样, 直接复制一个project, eclipse里启动方便一些

然后我们来构建client服务

/springcloudsample_client/pom.xml

Springcloud 应用(1)

Submitted by Lizhe on Thu, 07/06/2017 - 16:45

首先还是推荐你阅读一下 马丁福勒大爷的网站上的这篇文章

https://martinfowler.com/articles/microservices.html

下面我构建一个helloworld

首先是服务注册中心

pom.xml

Go 指针与地址

Submitted by Lizhe on Wed, 07/05/2017 - 16:08

可能是java写多了, 总觉得所有新一代高级语言都应该跟java差不多

不过越来越觉得Go就是一个不用写析构函数自带垃圾回收的C , 连Cpp都算不上

  • 它没有class的概念
  • 它没有private,protected,friendly和public, 虽然可以通过首字母大小写来区分私有还是公有
  • 它可以在windows和linux平台上直接编译可执行二进制文件
  • 指针和地址 都可以用, 包括指向指针的指针

 

Go的new实际上是一个内建函数,而不是关键字, 它会分配内存然后返回一个地址(java的new是关键字,返回一个引用)

下面是一个例子

Go linux下命令行编译

Submitted by Lizhe on Tue, 07/04/2017 - 22:40

首先我不推荐使用yum安装, 因为本来也没有太多麻烦的依赖,yum库里的go版本太低, 在fedora23上为1.5

所以直接在下面地址下载了1.8版本

wget https://www.golangtc.com/static/go/1.8.3/go1.8.3.linux-amd64.tar.gz

然后解压,把go文件夹放在/go根路径上

 

修改/etc/profile 添加path和GOROOT

# GO PATH
export PATH=$PATH:/go/bin:

# GO GOROOT
export GOROOT=/go

 

此时若使用go version命令可以得到

# go version
go version go1.8.3 linux/amd64

 

然后添加两个文件, 做一个helloworld 编译并运行它