调试了下作者提供的样例,记录下步骤,基于0.4.x版本。

1.启动eureka注册中心

先修改下hostname

原本:

server:
  port: 7000

eureka:
  instance:
    hostname: inst1
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://inst1:7000/eureka/

修改为:

server:
  port: 7000

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://localhost:7000/eureka/

2.修改数据库配置

涉及provider,consumer
在2个项目中,都有个config包,下面的配置文件中,把数据库修改为自己的mysql地址。

3.创建测试表

provider项目:
创建数据库inst01

CREATE TABLE tb_account_one (
  acct_id varchar(16),
  amount double(10, 2),
  frozen double(10, 2),
  PRIMARY KEY (acct_id)
) ENGINE=InnoDB;

insert into tb_account_one (acct_id, amount, frozen) values('1001', 10000.00, 0.00);

consumer项目:
创建数据库inst02

CREATE TABLE tb_account_two (
  acct_id varchar(16),
  amount double(10, 2),
  frozen double(10, 2),
  PRIMARY KEY (acct_id)
) ENGINE=InnoDB;

insert into tb_account_two (acct_id, amount, frozen) values('2001', 10000.00, 0.00);

2个库都创建bytejta表:

CREATE TABLE `bytejta` (
  `xid` varchar(32) NOT NULL,
  `gxid` varchar(40) DEFAULT NULL,
  `bxid` varchar(40) DEFAULT NULL,
  `ctime` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`xid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

4.修改注册中心地址

由于前面修改了eureka的地址,2个项目要注册到eureka上,也都需要修改下:

client:
    serviceUrl:
      defaultZone: http://localhost:7000/eureka/

之前都是注册到http://inst1:7000/eureka/上,可能无法识别。在本地跑demo,建议修改为localhost,减少不必要的麻烦。

5.启动项目

启动顺序:

  1. sample-eureka-server
  2. sample-provider
  3. sample-consumer

然后调试即可。