自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(167)
  • 收藏
  • 关注

原创 电商项目——用户注册功能、Hibernate Validator(服务端数据校验)

用户注册功能创建用户中心用户搜索到自己心仪的商品,接下来就要去购买,但是购买必须先登录。所以接下来我们编写用户中心,实现用户的登录和注册功能。用户中心的提供的服务:用户的注册用户登录用户个人信息管理用户地址管理用户收藏管理我的订单优惠券管理因为用户中心的服务其它微服务也会调用,因此这里我们做聚合:tt-user:父工程,包含2个子工程:tt-user-interface:实体及接口tt-user-service:业务和服务创建父modulepom:<?x

2021-04-01 20:53:52 588

原创 swagger的用法

导入依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> ..

2021-03-31 16:13:15 182

原创 压力测试(Jmeter、jconsole和jvisualvm)

压力测试压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统的瓶颈所在。错误类型:内存泄漏、并发与同步问题性能指标:响应时间(RT)用户从客户端发起的一个请求开始,到客户端接受到服务器端返回的响应结束,整个过程所耗费的时间。HPS:每秒点击数。TPS:每秒处理交易数。OPS:每秒处理查询次数。无论TPS、QPS、HPS,此指标是衡量系统处理能力非常重要的指标,越大越好。最大响应时间:指用户发出请求或者指令到系统做出反应(响应)的最大时间最少响应时间:指用户发出请求或者指令

2021-03-31 16:11:16 517

原创 电商项目——消息队列

项目改造改造项目,实现搜索服务、商品静态页的数据同步思路分析发送方:商品微服务什么时候发?当商品服务对商品进行写操作:增、删、改的时候,需要发送一条消息,通知其它服务。发送什么内容?对商品的增删改时其它服务可能需要新的商品数据,但是如果消息内容中包含全部商品信息,数据量太大,而且并不是每个服务都需要全部的信息。因此我们只发送商品id,其它服务可以根据id查询自己需要的信息。接收方:搜索微服务、静态页微服务接收消息后如何处理?搜索微服务:增/改:添加新的数据到索引

2021-03-31 16:08:04 349

原创 RabbitMQ\Spring AMQP

RabbitMQ消息队列(MQ)什么是消息队列消息队列,即MQ,Message Queue。MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IB

2021-03-31 15:58:05 282

原创 电商项目——页面详情及静态化

页面详情及静态化商品详情当用户搜索到商品,肯定会点击查看,就会进入商品详情页,商品详情页的展示商品详情页服务商品详情浏览量比较大,并发高,独立开启一个微服务,用来展示商品详情。创建module商品的详情页服务,命名为:tt-goods-pagepom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht

2021-03-28 20:49:54 630

原创 Thymeleaf

Thymeleaf简介官方网站:https://www.thymeleaf.org/index.htmlThymeleaf是用来开发Web和独立环境项目的现代服务器端Java模板引擎。Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 - HTML。可以在直接浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更强大的协作。借助Spring Framework的模块,可以根据自己的喜好进行自由选择,可插拔功能组件,Thymeleaf是现代HTML5 JVM Web开发的理想

2021-03-28 16:49:16 122

原创 电商项目——搜索过滤

搜索过滤过滤功能分析整个过滤部分有3块:顶部的导航,已经选择的过滤条件展示:商品分类面包屑,根据用户选择的商品分类变化其它已选择过滤参数过滤条件展示,又包含3部分商品分类展示品牌展示其它规格参数展开或收起的过滤条件的按钮顶部导航要展示的内容跟用户选择的过滤条件有关。比如用户选择了某个商品分类,则面包屑中才会展示具体的分类比如用户选择了某个品牌,列表中才会有品牌信息。所以,这部分需要依赖第二部分:过滤条件的展示和选择。展开或收起的按钮是否显示,取决于过滤条件现

2021-03-28 11:12:27 324

原创 Redis安装及Spring Data Redis的使用

RedisRedis安装1.安装下载安装包官网下载解压 tar -xvf redis-4.0.9.tar.gz编译安装 mv redis-4.0.9 redis cd redis make && make install2.配置修改安装目录下的redis.conf文件vim redis.conf修改以下配置:#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问protected-mode no # 把yes改

2021-03-24 20:12:53 71

原创 电商项目——搜索微服务搭建

搜索微服务搭建索引库数据导入创建搜索服务Pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h

2021-03-24 19:59:58 148

原创 疫情防控社区门禁系统

疫情防控社区门禁系统疫情防控社区门禁系统后台接口的实现,可以实现人脸识别及后台管理系统。主要通过微信小程序实现用户信息登记,分为常驻登记(身份证号、手机号、用户照片、姓名、住房类型、住户等个人信息的登记)和访客登记(被访人关系、身份证号、手机号、来自于、体温、事由等访客信息的登记),更方便管理,后续的进出口就不需要进行扫码,通过人脸识别可以自动识别人员信息,不同小区有不同的二维码,可以实现不同小区的登陆。不同小区的管理人员仅可查看本小区的数据,后台管理系统由管理员对成员进行信息的审核(通过、退回、隔离、辅

2021-03-22 10:03:23 3634 1

原创 Spring Data Elasticsearch

Spring Data ElasticsearchElasticsearch提供的Java客户端有一些不太方便的地方:很多地方需要拼接Json字符串,需要自己把对象序列化为json存储查询到结果也需要自己反序列化为对象简介Spring Data Elasticsearch是Spring Data项目下的一个子模块。查看 Spring Data的官网:http://projects.spring.io/spring-data/Spring Data 是的使命是给各种数据访问提供统一的编程接

2021-03-15 15:51:31 321

原创 Elasticsearch操作索引(查询、聚合)

查询基本查询_source过滤结果过滤高级查询排序基本查询:基本语法GET /索引库名/_search{ "query":{ "查询类型":{ "查询条件":"查询条件值" } }}这里的query代表一个查询对象,里面可以有不同的查询属性查询类型:例如:match_all, match,term , range 等等查询条件:查询条件会根据类型的不同,写法也有

2021-03-15 15:28:54 1074

原创 Elasticsearch操作索引(新增、修改、删除)

Elasticsearch操作索引基本概念Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。对比关系:索引(indices)--------------------------------Databases 数据库​ 类型(type)-----------------------------Table 数据表​ 文档(Document)----------------Row 行​ 字段(Field)----------

2021-03-13 21:55:48 4729

原创 Elasticsearch虚拟机安装

简介ElasticElastic官网:https://www.elastic.co/cn/Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。ElasticsearchElasticsearch官网:https://www.elastic.co/cn/products/elasticsearchElasticsearch具备以下特点:分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为

2021-03-11 21:34:26 918

原创 电商项目——前台门户系统

前台门户系统门户系统面向的是用户,安全性很重要,而且搜索引擎对于单页应用并不友好。因此门户系统不再采用与后台系统类似的SPA(单页应用)。前后端分离,不过前端的页面会使用独立的html,在每个页面中使用vue来做页面渲染。静态资源webpack打包多页应用配置比较繁琐,项目结构也相对复杂。nuxt + vue + webpack 服务端渲染创建工程创建一个新的工程导入静态资源将资料中的taotao-portal解压,并复制到这个项目下live-server没有webpack,我们就无法

2021-03-11 20:57:35 447

原创 电商项目——商品新增/修改

商品新增基本信息:主要是一些简单的文本数据,包含了SPU和SpuDetail的部分数据,如商品分类:是SPU中的cid1,cid2,cid3属性品牌:是spu中的brandId属性标题:是spu中的title属性子标题:是spu中的subTitle属性售后服务:是SpuDetail中的afterService属性包装列表:是SpuDetail中的packingList属性商品描述:是SpuDetail中的description属性,数据较多,所以单独放一个页面规格参数:商品规格信息

2021-03-11 20:56:24 1146

原创 电商项目——商品规格管理

商品规格管理商品规格数据结构淘淘商城是一个全品类的电商网站,因此商品的种类繁多,每一件商品,其属性又有差别。为了更准确描述商品及细分差别,抽象出两个概念:SPU和SKUSPU和SKUSPU:Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集SKU:Stock Keeping Unit(库存量单位),SPU商品集因具体特性不同而细分的每个商品SPU是一个抽象的商品集概念,为了方便后台的管理。SKU才是具体要销售的商品,每一个SKU的价格、库存可能会不一样,

2021-03-10 15:28:09 1026

原创 电商项目——品牌管理(新增)

品牌管理后台实现新增controller请求方式:POST请求路径:/brand请求参数:brand对象,外加商品分类的id数组cids返回值:无/** * 新增品牌 * @param brand * @return */@PostMappingpublic ResponseEntity<Void> saveBrand(Brand brand, @RequestParam("cids") List<Long> cids) { this.brand

2021-03-10 11:19:32 261

原创 电商项目——商品分类/品牌查询

商品分类一个商品分类下有很多商品一个商品分类下有很多品牌而一个品牌,可能属于不同的分类一个品牌下也会有很多商品实现功能数据库CREATE TABLE `tb_category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '类目id', `name` varchar(20) NOT NULL COMMENT '类目名称', `parent_id` bigint(20) NOT NULL COMMENT '父类目id,顶级类

2021-03-06 21:46:29 929

原创 FastDFS 安装及docker 安装 FastDFS

FastDFS 安装软件下载FastDFS 官网地址:https://github.com/happyfish100FastDFS需要下面3个包https://github.com/happyfish100/libfastcommon/archive/master.ziphttps://github.com/happyfish100/fastdfs-nginx-module/archive/master.ziphttps://github.com/happyfish100/fastdfs/ar

2021-03-06 21:42:28 594

原创 电商项目——项目构建

淘淘网——电商项目项目概述技术特点技术范围广技术新高并发(分布式、静态化技术、缓存技术、异步并发、池化、队列)高可用(集群、负载均衡、限流、降级、熔断)数据量大业务复杂数据安全常见电商模式电商行业的一些常见模式:B2C:商家对个人,如:亚马逊、当当等C2C平台:个人对个人,如:咸鱼、拍拍网、ebayB2B平台:商家对商家,如:阿里巴巴、八方资源网等O2O:线上和线下结合,如:饿了么、电影票、团购等P2P:在线金融,贷款,如:网贷之家、人人聚财等。B2C平台:天猫、京东

2021-03-06 17:23:10 314 1

原创 Docker

Docker1 Docker简介1.1 什么是虚拟化​ 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。​ 在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组

2021-03-03 11:14:21 131

原创 Spring Cloud Gateway

Gateway介绍Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5, Spring Boot 2和Project Reactor等技术。Gateway旨在提供一 种简单而有效的方式来对API进行路由,以及提供一 些强大的过滤器功能, 例如:熔断、限流、重试等Spring Cloud Gateway使用的Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架主要功能有:反向代理,鉴权,流量控制,熔断,日志监控Spring Clo

2021-03-03 10:34:19 156

原创 Nacos

Nacos一、前言Nacos是阿里巴巴最新开源的项目,核心定位是“一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”,项目地址:https://nacos.io/zh-cn/Nacos核心提供两个功能:服务注册与发现,动态配置管理。1、服务注册与发现Nacos提供基于DNS和基于RPC的服务发现,即能被用来支持https/http的服务注册与发现,也支持RPC如dubbo的服务注册与发现。与Dubbo使用的zookeeper相比而言,两者差异还是比较大的,zookeeper是一种分

2021-03-03 10:32:59 1116 1

原创 SpringCloud的入门(Hystix、Feign、Zuul)

SpringCloud的入门(Hystix、Feign、Zuul)Hystix简介Hystix,即熔断器。主页:https://github.com/Netflix/Hystrix/Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。​ 熔断器 Hystrix是容错管理工具,作用是通过隔离、控制服务从而对延迟和故障提供更强大的容错能力,避免整个系统被拖垮。​ 复杂分布式架构通常都具有很多依赖,当一个应用高度耦合其他服务时非常危险且容易导致失

2021-03-01 22:41:06 147

原创 SpringCloud的入门(Eureka、Ribbon)

SpringCloud微服务是一种架构方式,最终肯定需要技术架构去实施。微服务的实现方式很多,但是最火的莫过于Spring Cloud了。为什么?后台硬:作为Spring家族的一员,有整个Spring全家桶靠山,背景十分强大。技术强:Spring作为Java领域的前辈,可以说是功力深厚。有强力的技术团队支撑,一般人还真比不了群众基础好:可以说大多数程序员的成长都伴随着Spring框架,试问:现在有几家公司开发不用Spring?SpringCloud与Spring的各个框架无缝整合,对大家来说一切

2021-02-28 22:32:27 129

原创 微服务入门及Http客户端工具

微服务入门及Http客户端工具系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。集中式架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。存在的问题:代码耦合,开发维护困难无法针对

2021-02-28 22:10:46 219

原创 Git的使用

GitGit与svn对比SvnSVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就郁闷了。集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。但是相较于其优点而言,集中式版本控制工具缺点很明显:服务器单点故障

2021-02-27 21:38:40 215

原创 项目中的常见题型

Redis在项目中的使用场景数据类型使用场景String比如:我想知道什么时候封锁一个IP地址,Incrby命令记录IP访问次数Hash存储用户信息(id,name,age)Hset(key,field,value)Hset(userKey,id,101)、Hset(userKey,name,admin)、Hset(userKey,age,23)修改Hget(userKey,id)、Hset(userKey,id,102)为什么不使用String类型存储Set(userKey

2021-02-27 10:53:53 110

原创 Java高级常见题型

Java高级Linux常用命令:service (centos6)注册在系统中的标准化程序有方便统一的管理方式(常用的方法)service 服务名 startservice 服务名 stopservice 服务名 restartservice 服务名 reloadservice 服务名 status查看服务的方法 /etc/init.d/服务名通过chkconfig命令设置自启动查看服务 chkconfig --list|grep xxxchkconfig --leve

2021-02-26 22:05:19 77

原创 Spring Data ElasticSearch

Spring Data ElasticSearchSpring Data ElasticSearch简介什么是Spring DataSpring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 Spring Data可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了CRUD外,还包括如分页、排序等一些常用的功能。Spring Data的官网:http://proj

2021-02-25 23:17:51 436

原创 ElasticSearch编程操作

ElasticSearch编程操作创建项目创建工程,导入坐标<dependencies> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>5.6.8</version> </dependenc

2021-02-25 22:25:47 220

原创 ElasticSearch集群

ElasticSearch集群ES集群是一个 P2P类型(使用 gossip 协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群所需要的配置极其简单。在 Elasticsearch 2.0 之前,无阻碍的网络下,所有配置了相同 cluster.name 的节点都自动归属到一个集群中。2.0 版本之后,基于安全的考虑避免开发环境过于随便造成的麻烦,从 2.0 版本

2021-02-25 21:54:04 220

原创 SSM常见题型

SSM常见题型SpringBean的作用域<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:sch

2021-02-25 21:19:33 105

原创 Javase常见题型

Javase常见题型1. 自增变量public class Test { public static void main(String[] args) { int i = 1; i = i++; int j = i++; int k = i + ++i * i++; System.out.println("i=" + i); System.out.println("j=" + j); System.out.println("k=" + k); }}j=1,i=4,k

2021-02-25 17:24:20 109

原创 ElasticSearch的入门及集成IK分词器

ElasticSearch的入门及集成IK分词器ElasticSearch简介什么是ElasticSearchElaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。ElasticSearch对比SolrS

2021-02-24 22:46:22 214

原创 lucene全文检索

全文检索什么是全文检索数据分类结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等磁盘上的文件结构化数据搜索常见的结构化数据也就是数据库中的数据。在数据库中搜索很容易实现,通常都是使用sql语句进行查询,而且能很快的得到查询结果。为什么数据库搜索很容易?因为数据库中的数据存储是有规律的,有行有列而且数据格式、数据长度都是固定的。非结构化数据查询方法(1)顺序扫描法(Serial Scanning)​ 所谓顺序

2021-02-24 21:19:49 140

原创 Spring Boot 定时任务(Scheduled 定时任务器\Quartz的基本使用)

Spring Boot 定时任务Scheduled 定时任务器Scheduled 定时任务器:是 Spring3.0 以后自带的一个定时任务器。在 pom 文件中添加 Scheduled 的坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins

2021-02-23 22:32:29 483

原创 SpringDataJPA中Specifications动态查询、多表操作

Specifications动态查询在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。import java.util.List;import org.springframework.data.domain.Page;import org.springframework.data.domain.Pageable;impor

2021-02-23 20:59:26 1897

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除