微服务搭建说明(三)

一、微服务架构搭建说明

现在有两套微服务搭建架构,一套是pdf-c;一套是demo。

pdf-c集成了腾讯的tsf,相对的封装性更好,但是不够灵活,集成了很多可能用不到的组件。

而demo就相对比较简单,pom文件中只引入了微服务基本的依赖与组件,后面需要什么组件与功能,可以自己再添加。对于初学者来讲,这个更容易上手,用来学习spring-boot、spring-cloud与微服务项目更加合适。

下面对本地搭建demo微服务开发环境需要的软件、可能遇到的问题进行说明。

二、搭建中遇到的问题

参看链接https://www.cnblogs.com/szrs/p/12222661.html,搭建过程进行了比较详细的说明。

之后还成功搭建了一次pdf-c的开发环境,但是由于联调问题,在第一次搭建成功之后就没有再深入学习及应用过。

本文是我为了学习spring-boot、spring-cloud开发;学习微服务,redis等各种组件,二次搭建时,再次对微服务环境搭建及开发做的一次详尽记录。

1、首先:针对pdf-c中的搭建流程不在采用也不在做进一步的学习(其中的一些开发规范、设计思路还是有参考价值的)。

2、其次:人保再微服务新架构开发设计文档-张帅文件夹中是旧的数据字典及用户系统的一些文档资料,也有我写的新用户系统的设计文档。(不再过多关注)

3、重点:人保再-架构文档及安装文件文件夹中有搭建微服务demo的所有资料。

三、软件及流程

参看链接https://www.cnblogs.com/szrs/p/12222661.html,搭建过程进行了比较详细的说明。

后端软件:用的idea。参看demo中后端的后端demo开发说明文档进行安装。

安转完postgresql(用我自己下载的就行)之后,用navicat premium连接postgresql。有sql脚本:

CREATE TABLE t_template(
   template_id    varchar(20) PRIMARY KEY     NOT NULL,
   template_name  varchar(20)             NOT NULL,
   update_time            time      NOT NULL
);


insert into t_template(template_id,template_name,update_time) values ('1','zs',now());
insert into t_template(template_id,template_name,update_time) values ('2','zs',now());
insert into t_template(template_id,template_name,update_time) values ('3','zs',now());
insert into t_template(template_id,template_name,update_time) values ('4','zs',now());

select *from t_template;

SELECT count(0) FROM (SELECT t.template_id AS templateId, t.template_name AS templateName, to_char(t.update_time, 'yyyy-MM-dd HH24:mi:ss') AS updateTime FROM t_template t WHERE t.template_name LIKE 'zs') table_count 

通过postman进行测试:http://localhost:31010/demo/list?page=1&limit=1&templateName=zs

四、配置文件

setting文件用config中的,仓库用repository-pdfc。

server.port= 31010

#  注册中心配置
#开发
eureka.client.service-url.defaultZone=http://10.129.202.72:21000/eureka/
#获取主机ip作为地址注册到注册中心
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
info.version=@project.version@

eureka.client.register-with-eureka=false
eureka.client.fetchRegistry=false
eureka.client.server.waitTimeInMsWhenSyncEmpty=0

# 获取注册信息间隔时间  default 30
eureka.client.registry-fetch-interval-seconds=30
# 更新实例变化到服务端 default 30
eureka.client.instance-info-replication-interval-seconds=30
# 动态刷新eureka的serviceURl地址的间隔时间  与Config集成需要  default 300
eureka.client.eureka-service-url-poll-interval-seconds=300

#开启健康检查(需要spring-boot-starter-actuator依赖)
#eureka.client.healthcheck.enabled = true
#租期更新时间间隔(默认30秒)
#eureka.instance.lease-renewal-interval-in-seconds =30
#租期到期时间(默认90秒)
#eureka.instance.lease-expiration-duration-in-seconds =90



#数据库配置
spring.datasource.url= jdbc:postgresql://10.129.206.34:5432/postgres
spring.datasource.username= postgres
spring.datasource.password= root
spring.datasource.driver-class-name= org.postgresql.Driver

mybatis.type-aliases-package= cn.com.piccre.template.entity
mybatis.mapper-locations=classpath:/mapper/*Mapper.xml
#使用驼峰命名法转换字段。
mybatis.configuration.map-underscore-to-camel-case=true

#日志扫描
logging.level.=info
logging.level.cn.com.piccre.template.dao=debug
logging.config=classpath:logback-test.xml

#apollo配置中心
apollo.bootstrap.enabled = true
### apollo server地址
apollo.meta=http://10.129.202.74:8080
### apollo server的应用id
app.id=ServiceTemplate

#redis配置
spring.redis.host=10.129.202.73
spring.redis.port=6379
spring.redis.password=picc123456
spring.redis.timeout=2000


#7.3用户登录检查(按用户名和密码形式)—非集成单点(checkLoginByPwd)接口地址
check_user_url=http://10.129.202.72:4789/UserTransferServer/userService/check
#3.3根据用户获取菜单(getMenuByUser)
get_menu_url=http://10.129.202.72:4789/UserTransferServer/userService/menu
#10.4根据用户代码获取用户详细信息(getUserMsg)
get_user_info=http://10.129.202.72:4789/UserTransferServer/userService/userInfo

#密钥文件用于加密token,将demo附带的密钥文件放于服务器对应目录,只在登录时生成token用到
keyPublicPath=/opt/picc/jwt/cjp/key.pub
keyPrivatePath=/opt/picc/jwt/cjp/key.pri

 标黄的部分需要添加和修改,剩下的都不用动。就可以通过postman正常访问到项目了。

但是明显Redis、apollo、用户相关的都还不能用。现在的学习重点是spring-boot相关及redis先不管其它。

查看本地ip及dns:ipconfig/all。

五、前端vue

原文地址:https://www.cnblogs.com/zhangshuaivole/p/13434400.html