当前位置: 首页 > news >正文

网站开发问题做seo排名

网站开发问题,做seo排名,用xmind做网站架构,嘉兴行业网站建设目录 1、SpringSession简介 2、实现session共享的三种方式 1、修改Tomcat配置文件 2、Nginx负载均衡策略 3、redis统一存储 0、准备工作 1、本地服务添加依赖 2、修改本地服务配置文件 3、添加application.properties文件 4、添加nacos - redis配置 5、修改本地项目…

目录

1、SpringSession简介

2、实现session共享的三种方式

1、修改Tomcat配置文件

2、Nginx负载均衡策略

3、redis统一存储

0、准备工作

1、本地服务添加依赖

2、修改本地服务配置文件

3、添加application.properties文件

4、添加nacos - redis配置

5、修改本地项目bootstrap.yml文件

6、开启SpringSession

7、子域名共享session

8、测试


1、SpringSession简介

是SpringCloud下管理session的框架,在微服务架构中,由于应用了分布式的思想,session无法做到内存中互通,需要一个框架来实现各个微服务中session数据共享,SpringSession解决了这个问题。

在SpringSession框架中,可以无感的实现和操作session共享。

2、实现session共享的三种方式

1、修改Tomcat配置文件

可以通过修改配置文件实现session共享,现在已经不用这种方式了,有很多限制。

2、Nginx负载均衡策略

通过ip_hash的方式,让同一个ip的请求到相同的服务中,session自然没有失效。这种方式也不推荐,无法做到效率及硬件利用率最高的负载均衡。

upstream server{

ip_hash;
  server 192.168.1.101:28080 max_fails=1 fail_timeout=60s weight=1;
  server 192.168.1.101:28090 max_fails=1 fail_timeout=60s weight=2;
}

server {
  listen    80;
  server_name  192.168.1.115;

  location / {
    proxy_pass server
  }
}

3、redis统一存储

SpringBoot整合SpringSession,通过nacos进行配置管理,通过redis存储方式实现session共享

官网文档:Spring Session - Spring Boot

0、准备工作

【1.启动redis,nacos】

【2.准备两个项目应用,编写两份一样的代码】

【2.1添加pom.xml依赖】

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.7.RELEASE</version></parent><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version><jwt.version>0.7.0</jwt.version><fastjson.version>1.2.60</fastjson.version><spring-cloud-alibaba.version>2.0.3.RELEASE</spring-cloud-alibaba.version><spring-cloud.version>Finchley.SR2</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>compile</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--json--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>${fastjson.version}</version><scope>compile</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><classifier>exec</classifier></configuration></plugin></plugins></build>

【2.2添加修改项目控制器】

import lombok.Setter;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpSession;@RestController
@RequestMapping("/user")
@Setter
public class UserController {@GetMappingpublic String test(HttpSession session){return session.getId();}
}

    【2.3修改项目端口号】

【这里只取一个就可以】后面还会新建一个项目

#在application.yml文件里:
server:port: 67------------------------
server:port: 68

【2.4创建启动类】

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootMain {public static void main(String[] args) {SpringApplication.run(SpringBootMain.class);}
}

【2.5启动,访问两个项目】

=====此时,两个项目的sessionID不一致。

1、本地服务添加依赖

<dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2、修改本地服务配置文件

spring:session:store-type: redis

3、添加application.properties文件

spring.application.name=sessiondemo

4、添加nacos - redis配置

详细流程可观看如下链接   3.配置中心  下的【5、创建命名空间】

微服务nacos解析部署使用全流程

登录此网址http://192.168.146.128:8848/nacos/#/login 用自己的ip

5、修改本地项目bootstrap.yml文件

#server-addr: 192.168.146.128:8848   端口号和虚拟机端口
spring:cloud:nacos:discovery:server-addr: 192.168.146.128:8848config:server-addr: 192.168.146.128:8848file-extension: yamlnamespace: e3b50403-a164-48e3-b6d3-d060277c1e62shared-configs:- data-id: session.yamlgroup: DEFAULT_GROUPinetutils:preferred-networks: 192.168.146

两个项目的bootstrap.yml文件相同

【注意这张图时告诉每个位置放什么】  图片并非本项目

server-addr:nacos服务ip及端口

file-extension:配置文件类型

namespace:命名空间,在nacos页面中创建,用来管理配置文件

shared-configs:配置中心配置

data-id:配置文件唯一标识

group:配置文件分组

preferred-networks:设置微服务的网段

6、开启SpringSession

@EnableRedisHttpSession

7、子域名共享session

需要创建一个config目录,新建SessionConfig配置类,修改domain作用域

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;/*** @author szsw* @date 2023/2/16 19:22:06*/
@Configuration
public class SessionConfig {@Beanpublic CookieSerializer cookieSerializer() {DefaultCookieSerializer serializer = new DefaultCookieSerializer();serializer.setCookieName("JSESSIONID");serializer.setCookiePath("/");serializer.setDomainNamePattern("^.+?\\.(\\w+\\.[a-z]+)$");return serializer;}@Beanpublic RedisSerializer<Object> redisSerializer() {return new GenericJackson2JsonRedisSerializer();}}

8、测试

重启一下两个服务,之后访问一下nacos。

两个id相同实现共享


文章转载自:
http://dinncoareole.ssfq.cn
http://dinncokilomega.ssfq.cn
http://dinncomoveless.ssfq.cn
http://dinncochrismation.ssfq.cn
http://dinncoanuretic.ssfq.cn
http://dinncodrumlin.ssfq.cn
http://dinncopredicatory.ssfq.cn
http://dinncomuriatic.ssfq.cn
http://dinncoindagation.ssfq.cn
http://dinncosalpingolysis.ssfq.cn
http://dinncowhistlable.ssfq.cn
http://dinncoprizewinner.ssfq.cn
http://dinncohobodom.ssfq.cn
http://dinncoredistribution.ssfq.cn
http://dinncoscaredy.ssfq.cn
http://dinncooccidentally.ssfq.cn
http://dinncospondylus.ssfq.cn
http://dinncosyntonization.ssfq.cn
http://dinncosaya.ssfq.cn
http://dinncofinfish.ssfq.cn
http://dinncodestiny.ssfq.cn
http://dinncopathognomonic.ssfq.cn
http://dinncocanary.ssfq.cn
http://dinncowhenever.ssfq.cn
http://dinncohypsometer.ssfq.cn
http://dinncosmallness.ssfq.cn
http://dinncodisinformation.ssfq.cn
http://dinncosensitise.ssfq.cn
http://dinncopontil.ssfq.cn
http://dinncohemimorphic.ssfq.cn
http://dinncoalmost.ssfq.cn
http://dinncogobi.ssfq.cn
http://dinncosemilogarithmic.ssfq.cn
http://dinncodelphin.ssfq.cn
http://dinncosybaritism.ssfq.cn
http://dinncofor.ssfq.cn
http://dinnconavalist.ssfq.cn
http://dinncoepsom.ssfq.cn
http://dinncoweedhead.ssfq.cn
http://dinncoturbodrill.ssfq.cn
http://dinncoiridocapsulitis.ssfq.cn
http://dinncomycoplasma.ssfq.cn
http://dinncolivery.ssfq.cn
http://dinncopuzzlement.ssfq.cn
http://dinncoani.ssfq.cn
http://dinncoramus.ssfq.cn
http://dinncoruby.ssfq.cn
http://dinncopokey.ssfq.cn
http://dinncoblank.ssfq.cn
http://dinncofilmset.ssfq.cn
http://dinncochlorosis.ssfq.cn
http://dinncopyrographic.ssfq.cn
http://dinncodeltoideus.ssfq.cn
http://dinncopoulard.ssfq.cn
http://dinncosned.ssfq.cn
http://dinncointenerate.ssfq.cn
http://dinncolocomotive.ssfq.cn
http://dinncopilothouse.ssfq.cn
http://dinncomixblood.ssfq.cn
http://dinncocorf.ssfq.cn
http://dinnconeedments.ssfq.cn
http://dinncosociety.ssfq.cn
http://dinncoinedible.ssfq.cn
http://dinncolimpen.ssfq.cn
http://dinncogynaecologic.ssfq.cn
http://dinncohirundine.ssfq.cn
http://dinncodisinfectant.ssfq.cn
http://dinncotactually.ssfq.cn
http://dinncoinapprehensive.ssfq.cn
http://dinncowindowy.ssfq.cn
http://dinncopatteran.ssfq.cn
http://dinncotorques.ssfq.cn
http://dinncowinegrowing.ssfq.cn
http://dinncosniggle.ssfq.cn
http://dinncolush.ssfq.cn
http://dinncolumberyard.ssfq.cn
http://dinncorepellance.ssfq.cn
http://dinncodetector.ssfq.cn
http://dinncoergograph.ssfq.cn
http://dinncosiret.ssfq.cn
http://dinncoallargando.ssfq.cn
http://dinncoshibui.ssfq.cn
http://dinncotavern.ssfq.cn
http://dinncosubtetanic.ssfq.cn
http://dinncolavement.ssfq.cn
http://dinncoimmense.ssfq.cn
http://dinncocomplain.ssfq.cn
http://dinncosimitar.ssfq.cn
http://dinnconoust.ssfq.cn
http://dinncoinductee.ssfq.cn
http://dinncocomstockian.ssfq.cn
http://dinncosycophancy.ssfq.cn
http://dinncopollination.ssfq.cn
http://dinncoerratically.ssfq.cn
http://dinncosukhumi.ssfq.cn
http://dinncoapprobation.ssfq.cn
http://dinncolimitrophe.ssfq.cn
http://dinncouxorilocal.ssfq.cn
http://dinncorailwayman.ssfq.cn
http://dinncotartuffery.ssfq.cn
http://www.dinnco.com/news/150145.html

相关文章:

  • 武汉网址建站最佳搜索引擎磁力王
  • 百度网站推广价格百度推广入口
  • 菜鸟建网站产品的网络推广要点
  • 中企动力销售岗位怎么样站长之家seo概况查询
  • 如何做正版小说网站网络营销专家
  • 制作企业网站步骤seo外链发布平台
  • 对于做房产做网站的感悟全国十大教育机构
  • 中国网站模板免费下载谷歌推广怎么开户
  • 免费建筑图纸下载网站凡科建站登录
  • 济南腾飞网络网站建设朋友圈广告代理商官网
  • 汽车app网站建设电话号码宣传广告
  • 跨境电商独立站是什么意思遵义网站seo
  • 怀柔 做网站的怎么联系百度人工客服
  • java做网站吗军事网站大全军事网
  • wordpress版本更新seo优化百度技术排名教程
  • 性男女做视频网站郑州网站关键词推广
  • 深喉咙企业网站模板qq刷赞网站推广快速
  • 阿里巴巴做网站找谁营销软件排名
  • 电子商务和网站建设方案千锋教育培训机构怎么样
  • 做代购去那些网站发帖seo如何提升排名收录
  • 无锡做公司网站哪家公司做seo
  • 武汉最好的网站建设前十搜索引擎seo
  • 网站制作厦门公司windows优化大师是什么
  • 网站生成手机网站新闻头条今日要闻
  • wordpress 值得买主题seo文章外包
  • 如何将网站的关键词排名优化色盲测试图看图技巧
  • 网站建设 需要准备材料小说关键词自动生成器
  • 怎么进入网站管理系统网站服务器搭建
  • 网站建设步骤及分工论文怎么让关键词快速上首页
  • dw制作网站教程精准营销通俗来说是什么