java电商商城一条龙服务(12)商城业务个人文章

PUTproduct{"mappings":{"properties":{"skuId":{"type":"long"},"spuId":{"type":"keyword"},"skuTitle":{"type":"text","analyzer":"ik_smart"},"skuPrice":{"type":"keyword"},"skuImg":{"type":"keyword","index":false,"doc_values":false},"saleCount":{"type":"long"},"hasStock":{"type":"boolean"},"hotScore":{"type":"long"},"brandId":{"type":"long"},"catalogId":{"type":"long"},"brandName":{"type":"keyword","index":false,"doc_values":false},"brandImg":{"type":"keyword","index":false,"doc_values":false},"catalogName":{"type":"keyword","index":false,"doc_values":false},"attrs":{"type":"nested","properties":{"attrId":{"type":"long"},"attrName":{"type":"keyword","index":false,"doc_values":false},"attrValue":{"type":"keyword"}}}}}}2.首页项目的页面视图部署在对应的微服务项目的静态资源中

添加thymeleaf的依赖

org.springframework.bootspring-boot-starter-thymeleaf将资料中的静态资源放在微服务工程的对应位置,并在配置文件中加入对应的配置首页页面如果首页样式乱或者没显示两种解决方案:1.可以在product服务config包添加如下配置

packagecom.yxw.gulimall.product.config;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;/***SimpletoIntroduction*className:WebMVCConfig**@authoryanxw*@version2023/12/147:57AM*/@ConfigurationpublicclassWebMVCConfigextendsWebMvcConfigurerAdapter{@OverridepublicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");}}2.去掉index.html路径里面的static

编辑操作hosts文件

192.168.0.88gulimall.com保存成功之后可以直接访问域名,解析到虚拟机的ipTips:有科学上网的测试的时候要先关闭科学上网的软件安装了ES的访问gulimall.com:9200可以看到相应的内容正式搭建项目的域名访问环境1.nginx的配置文件配置nginx

#切换到nginx挂载在本机的配置文件所在的目录cd/mydata/nginx/conf#切换到nginx的分配置文件下复制一份定义gulimall的配置,主配置文件中有include/etc/nginx/conf.d/*.conf;这么一段配置,主配置文件#会包含conf.d目录下的所有配置cd/mydata/nginx/conf/conf.dcpdefault.confgulimall.conf复制一份#在gulimall.conf配置文件中配置我们的配置#配置如下配置niginx的配置文件如下

dockerrestartnginx2.让nginx代理到网关在nginx.conf配置文件中加上如下的配置

#gulimall是上游服务器的组名upstreamgulimall{#网关的地址注意这里是自己本机的ip,不是服务器ipserver192.168.0.112:88;}修改gulimall.conf中的配置

在网关的配置文件中加上以下的配置

-id:gulimall_host_routeuri:lb://mall-productpredicates:-Host=**.gulimall.com这时我们重启网关的时候发现无法访问到相应的页面是由于nginx访问网关的时候丢了host这时我们需要加上如下的配置

proxy_set_headerHost$host;

jconsolejvisualvm我用的是jvisualvm

监控内存泄露,跟踪垃圾回收,执行时内存、cpu分析,线程分析...运行:正在运行的休眠:sleep等待:wait驻留:线程池里面的空闲线程监视:阻塞的线程,正在等待锁

现在服务器nginx目录创建文件夹如下将mall-product服务下的index文件夹上传到刚才创建的static文件夹下,同时删除mall-product服务下的index文件夹修改nginx配置修改nginx后要重启dockerrestartnginx

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过RedisSentinel提供高可用,通过RedisCluster提供自动分区。

application.properties

下面的第一个方法是查询数据位list集合

@Cacheable(value=“dict”,keyGenerator=“keyGenerator”)对方法的结果进行缓存

value属性表示key的前缀

keyGenerator表示key的生成规则,生成规则在配置文件中配置,这里我们使用的是方法的全类名作为key的后缀

第二个方法是添加数据添加数据会造成数据库中数据的变化我们要清除缓存

@CacheEvict(value=“dict”,allEntries=true)清空指定的缓存

value属性表示清空以dict为前缀的所有缓存

allEntries属性表示是否清空所有缓存,默认为false。如果指定为true,则方法调用后将立即清空所有的缓存

1)、springboot2.0以后默认使用lettuce作为操作redis的客户端,它使用netty进行网络通信

2)、lettuce的bug导致netty堆外内存溢出。netty如果没有指定堆外内存,默认使用Xms的值,可以使用-Dio.netty.maxDirectMemory进行设置

解决方案:由于是lettuce的bug造成,不要直接使用-Dio.netty.maxDirectMemory去调大虚拟机堆外内存,治标不治本。

1)、升级lettuce客户端2)、切换使用jedis修改依赖文件,使用jedis作为客户端工具

org.springframework.bootspring-boot-starter-data-redisio.lettucelettuce-coreredis.clientsjedis6.4高并发下缓存失效问题缓存穿透缓存雪崩缓存击穿

在nginx里面放入如下文件

server{

网关配置

修改nginx配置

按照条件查询

GETgulimall_product/_search{"query":{"match_all":{}},"aggs":{"brand_agg":{"terms":{"field":"brandId","size":10},"aggs":{"brand_name_aggs":{"terms":{"field":"brandName","size":10}}}},"catalog_agg":{"terms":{"field":"catalogId","size":10}}}}报错不能加载brandName数据,因为这个数据不支持keyword类型,解决办法修改映射和迁移数据:创建索引mall_product

PUTmall_product{"mappings":{"properties":{"skuId":{"type":"long"},"spuId":{"type":"keyword"},"skuTitle":{"type":"text","analyzer":"ik_smart"},"skuPrice":{"type":"keyword"},"skuImg":{"type":"keyword"},"saleCount":{"type":"long"},"hasStock":{"type":"boolean"},"hotScore":{"type":"long"},"brandId":{"type":"long"},"catalogId":{"type":"long"},"brandName":{"type":"keyword"},"brandImg":{"type":"keyword"},"catalogName":{"type":"keyword"},"attrs":{"type":"nested","properties":{"attrId":{"type":"long"},"attrName":{"type":"keyword"},"attrValue":{"type":"keyword"}}}}}}数据迁移:

POST_reindex{"source":{"index":"gulimall_product"},"dest":{"index":"mall_product"}}完整的dsl语句:

@EnableFeignClients@EnableDiscoveryClient@SpringBootApplicationpublicclassMallAuthServerApplication{publicstaticvoidmain(String[]args){SpringApplication.run(MallAuthServerApplication.class,args);}}application.yml

修改application.yml

thymeleaf:cache:false创建LoginController

创建GulimallWebConfig类

packagecom.yxw.gulimall.auth.config;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.ViewControllerRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcConfigurer;/***SimpletoIntroduction*className:GulimallWebConfig**@authoryanxw*@version2023/12/315:22PM*/@ConfigurationpublicclassGulimallWebConfigimplementsWebMvcConfigurer{/**·*视图映射:发送一个请求,直接跳转到一个页面*@paramregistry*/@OverridepublicvoidaddViewControllers(ViewControllerRegistryregistry){registry.addViewController("/login.html").setViewName("login");registry.addViewController("/reg.html").setViewName("reg");}}

THE END
1.快速资讯:短信测压在线使用介绍短信测压免费稳定性测试:检验短信系统在长时间、高强度的短信发送压力下是否会出现崩溃、死机、内存泄漏等异常情况,确保系统能够稳定可靠地运行。像金融机构的短信验证码服务,稳定性至关重要,一旦出现故障可能导致用户无法正常进行交易操作,因此需要通过测压来保障其稳定性。 https://www.jianshu.com/p/dda87f4476c0
2.AppStore上的“压力测试”压力是我们身体对事件或压力状况的反应。有几个内部和外部因素影响这种反应。知道如何管理压力是一个越来越突出的话题。此 APP 通过调查问卷帮助您识别使您成为或多或少压力的人的因素和触发因素,要使测试有效,您必须真诚地回答所有问题。定期参加测试,以评估您的压力水平是改善还是恶化。 https://apps.apple.com/cn/app/id1580761803?platform=iphone
3.短信测压短信测压平台是一款特别好用的手机性能测试软件,大家可以在这里体验非常优质的辅助工具,只需要输入你的手机号码就可以在这里进行模拟短信的发送,帮助大家节省了很多的时间,随时可以在这里检测自己的手机反应速度,不断的提升大家的性能,在接收到短信的时候会更加顺畅。 软件简介 1.帮助大家进行电话号码测试,能够管理好你https://www.zxiyun.com/12750.html
4.手机短信软件app有哪些免费手机短信软件app下载安装在微信、QQ这些软件出现前,大家最常用的联系方式除了电话就是发短信,很多的小伙伴都有开过短信包月,今天小编给大家推荐几款好用的手机短信软件,这类app是非常强大的短信管理软件,能够完全的替代大家手机上的短信功能,支持用户发送短信、批量处理短信等,还有各种炫酷的界面特效,支持气泡对话框等各种装饰,感兴趣的用户http://www.downcc.com/k/sjdx/
5.短信压力测试app苹果版下载短信压力测试软件手机版app强项 1. 高度定制化测试参数:用户可以自定义短信内容、发送数量、并发级别等参数,模拟不同场景下的短信发送需求。 2. 实时显示测试结果:测试过程中,软件会实时显示发送成功率、响应时间、错误详情等关键信息,帮助用户快速分析系统性能。 3. 强大的数据分析功能:软件能够生成详细的测试报告,包括系统性能瓶颈、优化建议https://www.crsky.com/soft/714552.html
6.短信轰炸机网页版在线短信轰炸机免费短信云呼轰炸机欢迎来到电话测压在线平台,这是一个集电话测压app、电话测压源码、电话测压api、电话测压下载于一体的前沿在线平台,为用户提供基于电话测压的全面解决方案和分析, 特色电话轰炸, 电话测压2022, 电话压测平台, 电话压测网页, 电话压测1.0, 电话压测网站, 艾皇电话测压, 电https://www.brightbikerebel.com/
7.手机短信压力测试app创建APP华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:手机短信压力测试app。https://support.huaweicloud.com/topic/1128631-2-S
8.中国人寿业务稳定性保障:“1+1+N”落地生产全链路压测N 个场景——有了平台和流程后,就可以基于此来支持寿险业务 N 个场景的在线压测,比如长险出单、短险出单、培训学习、APP 登录、重大技改等等。比如信创对系统的改造等重大技改,大家非常乐意通过无侵入在线压测的手段,在生产上验证技改前后性能的变化情况,这也是比较重要的应用场景。 https://xie.infoq.cn/article/5c3970161430badd9e3718b9a
9.在线短信测压平台腾讯云开发者社区是一种基于云计算技术的服务平台,用于测试短信发送的性能和稳定性。它可以模拟大规模的短信发送场景,通过向目标系统发送大量短信并监测响应时间、成功率等指标,评估目标系统在高负载情况下的性能表现。 在线短https://cloud.tencent.com/developer/information/%E5%9C%A8%E7%BA%BF%E7%9F%AD%E4%BF%A1%E6%B5%8B%E5%8E%8B%E5%B9%B3%E5%8F%B0-salon
10.短信压力测试v3.0app手机版下载2.在短信接收的过程中也许会出现卡顿现象,会为用户提供一些有用的建议。 3.一键点击可以快速的对手机进行加速,这样就能够优化自己的手机性能。 《短信压力测试v3.0》软件测评: 为用户提供了多种短信模板,用户可以选择相应的短信内容进行发送操作。 在进行短信压测时,需要注意以下几点: 1. 确保测试环境的安全性和稳定https://www.juxia.com/sjwy/ruanjian-574948.html
11.2024全新SMS测压源码短信压力测试app文章浏览阅读594次。编辑根目录下的.env文件配置数据库信息。设置网站运行目录为public。详细教程请看源码内置说明文本!设置伪静态为thinkphp。_短信压力测试apphttps://blog.csdn.net/weixin_56073583/article/details/142035449
12.iOS手机APP压测app的压力测试蓝月亮的技术博客iOS手机APP压测 app的压力测试 更详细的APP功能测试根据实际情况来进行测试,前面的文章我们讲的是APP测试的UI测试以及功能测试部分,但也会涉及到APP的性能、更新、兼容性、交叉事件以及回归测试的部分。那么这些应该怎么做呢,让我们一起学习下去。 App性能测试https://blog.51cto.com/u_12190/9193717
13.动态权限多租户数据权限工作流三方登录支付短信[-] xxx-web-app// 提供对外 HTTP API。[-] xxx-service-project ├──[-] xxx-service-api// 提供对内 RPC API 。├──[-] xxx-service-app// 提供对内 RPC 实现。├──[-] xxx-service-integration-test// 集成测试。 技术栈 后端 https://portrait.gitee.com/cnetly/yudao-cloud
14.短信在线压测平台关于短信在线压测平台 使用F5和Cisco等厂商推出的DDoS解决方案。, DDoS攻击(Distributed Denial of Service)是一种通过同时从多个位置对目标服务器发送高数量的数据包,导致服务器负载过重而无法处理合法用户请求的方式。攻击者使用一个或多个“僵尸网络”(botnet)通过互联网发送大量的请求到特定的目标服务,使其网络出现https://mukrb.lfjmmj.cn/
15.在线短信压测,惩戒骗子必备在线短信压测,惩戒骗子必备 在线地址:https://www.ceya001.cn/https://www.xc6b.com/qqjs/11440.html
16.GitHubd压测时间10s -T超时3s -no-ka即no-keep-alive > go get github.com/goadapp/goad # 测试工具goad *1.5k > goad -h > go get github.com/uber/go-torch # 测试CPU火焰图生成工具 *3.5k > go-torch -h > go get github.com/smallnest/go-web-framework-benchmark # Web性能测试工具 > gowebhttps://github.com/angenalZZZ/Go
17.企业办公软件SaaS软件(系统)服务企业服务全方位提升系统稳定性通过一站式的压测、注入、观测、报告服务,全方位提高业务产品的高可用设计、系统APP开发提供全行业定制化开发,按照客户的实际需求,快速交付,并且收费合理,以满足客户的需求。 运维服务业务繁忙时申请资源,不繁忙时释放闲置资源集群运维轻松应对数据量更大、数据类型更复杂的业邮件、短信等https://36kr.com/project-3/