# ITL
**Repository Path**: anglek/ITL
## Basic Information
- **Project Name**: ITL
- **Description**: 社交系统itaoabo本地版配置
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-05-30
- **Last Updated**: 2021-03-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# itaobao_local
# 开发
## 1:敲定主题,技术选型,数据库设计,项目管理配置
## 2:功能模块责任细分,流程细化,简单技术铺垫
## 3-8:开发及联调(UI, Android)
## 9:联调
#### 介绍
社交系统itaoabo本地版配置
#### 软件架构
软件架构说明
#### 使用说明
1. 配置来源:本仓库
2. 线上环境:
- config
- eureka
3. 线下环境:
- 其他微服务
## 本地操作
### 基础模块:
#### itaobao_eureka 注册中心 :6868 提供注册服务
- 配置:
defaultZone: 注册地址
#### itaobao_article 文章微服务:9001
- 依赖:
mysql
redis(articleService)
- 技术:redisTemple
#### itaobao_base 基础微服务:9002
- 依赖:
mysql
#### itaobao_spit 吐槽微服务:9003
- 依赖:
mongodb(数据库:spitdb)
redis(处理重复点赞:方法,userid)
- 应用:
文章评论数,当有了新的评论,文章评论总数+1(处理办法,当父节点存在时同步增加父节点数据)
itaobao_web 前台微服务网关:9004
#### itaobao_friend 交友微服务:9005
#### itaobao_gathering 活动微服务:9006
- 依赖:mysql
- 技术:springcache(gatherService)
- 级别:
截止:2020-5-30 启动无异常
itaobao_manager 后台微服务网关:9007
#### itaobao_qa 问答微服务:9008
- 依赖:
mysql
base
user模块的jwt鉴定权限(Config中)
- 功能:增加熔断器(当base_client工作异常,采用指定实现类实现业务)
#### itaobao_recruit 招聘微服务:9009
- 依赖:mysql
#### itaobao_search 搜索微服务:9010
- 依赖:
es
- 应用:
put方式访问9200端口,后缀就是需要创建的索引库:例如:http://www.localhost:9200/itaobao_es
post方式创建文档,文档需要在索引库下:例如:http://www.localhost:9200/itaobao_es/diary
get查询所有:url/_search
fndById(可以直接用这个操作的id的有无处理add和update,查找id,有则会返回,没有就添加): url/id
带条件查询:url/_search/q=[参数]:[参数值]
模糊查询:url/_search/q=[参数]:*s*
启动head
grunt server
http://www.localhost.com:9100
关系:head是图形化管理插件,ik是es的分词插件(相当于与es自身的分词策略,Ik的分词策略更加贴近实际,并且可调整部分很多)
#### itaobao_sms 短信微服务:9011
- 依赖rabbitMQ
#### itaobao_user 用户微服务:9012
12312312311:123
12312312312:123456
- 依赖:
mysql,
redis,
手机验证码服务
common中的JWT(common提供JWT的操作,user模块的yml中提供JWT生成的参数)
- 修改:
追加:redis.host, rabbit.host
- 存在的问题:
服务启动正常,但是具体操作存在问题,无法进行登录注册
修改:
注释掉:yml中jwt部分
注释掉:拦截器内容
注释掉:config中内容
Using generated security password: 77fe288e-aa9c-40a4-b06b-a2e5cc6
Using generated security password: cea8f59d-4140-4918-9459-cb54331dd147
POM文件追加:security配置后地址都由securty拦截了,若只想利用其加密技术则在config文件夹中配置per..All()方通所有
itaobao_article_crawler 文章爬虫微服务
itaobao_user_crawler 用户爬虫微服务
itaobao_ai 人工智能微服务
#### 修改服务为注册模式
1. denpenency
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
2. yml中添加
eureka:
client:
service-url:
defaultZone: http://122.51.8.208:6868/eureka/
3. 启动类上添加
@EnableEurekaClient
4. 模块间的跨域访问yml文件
eureka:
instance:
prefer-ip-adress: ture
#### 开启对消息总线的处理
1. 总线提供者修改
org.springframework.cloud
spring-cloud-starter-netflix-zuul
com.itaobao
itaobao_common
1.0-SNAPSHOT
org.springframework.cloud
spring-cloud-starter-config
2. 总线服务消费者(除eureka外都有)
pom 文件添加
org.springframework.cloud
spring-cloud-bus
org.springframework.cloud
spring-cloud-stream-binder-rabbit
org.springframework.boot
spring-boot-starter-actuator
yml文件追加
rabbit 地址
3. 暴露地址
http://host:12000/actuator/bus-refresh, post
#### 远程配置文件的自定义配置
例如: ip 123
controller类中读:"${ip}"
#### 消息总线可更新配置文件,但是只支持框架内部的配置文件,自定义的部分框架默认情况下不负责
可采用 @RefreshScope 强制对自定义文件也同步更新
#### 发布前文件修改:
manager:追加:
@RefreshScope
#### 模块间的相互调用
》 要调用别人(QA调用base)
1. pom文件
org.springframework.cloud
spring-cloud-starter-openfeign
2. client
#### 问题
1. docker被攻击
加入ca认证
2. 服务启动失败
依赖关系过强,且配置文件编写有疏漏
3. 本地测试无误,发布线上出问题
重传, 并测试效果
4. 本地副本测试并查看报错