zoukankan      html  css  js  c++  java
  • 微服务搭建说明(三)

    一、微服务架构搭建说明

    现在有两套微服务搭建架构,一套是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

  • 相关阅读:
    [整理] jQuery插件开发
    windows2008r2安装笔记
    javascript 中 typeof 和 instanceof 的区别
    mysql 复制表结构和表数据
    一个例子明白 javascript 中 for 与 for in 的区别
    实现自己的框架
    Jenkins 前端项目构建报错:Vue packages version mismatch
    linux Auditd 审计工具安装报错
    linux定时压缩日志文件脚本
    Robot Framework 3.1.2 执行测试用例报错
  • 原文地址:https://www.cnblogs.com/zhangshuaivole/p/13434400.html
Copyright © 2011-2022 走看看