전형적인 프로젝트 사례 11——생산 환경에서의 중대한 사고

1: 배경 소개

arpro 프로젝트를 위해. 프로덕션 환경에는 A 환경 한 세트와 B 환경 한 세트의 두 가지 환경 세트가 배치됩니다.
이것의 의의는 온라인 A 환경에서 예상치 못한 문제(A 환경의 대규모 크래시, A 환경의 서버 문제 등)가 발생할 경우 즉시 B 환경으로 전환할 수 있다는 것입니다. 사용할 사용자.
A 환경은 B 환경과 완전히 일치합니다.

이번에는 arpro 프로덕션 환경에 몇 가지 주요 문제가 있었습니다.

  1. 프로덕션 A 환경이 제 시간에 구축되지 않아 프로덕션 A 환경과 프로덕션 B 환경 간에 버전이 일치하지 않습니다.
  2. 2022년 5월 1일 ZenTao의 릴리스 로그에는 관련 요구 사항이 없으므로 릴리스 프로세스가 누락되어 후속 릴리스 프로세스에 영향을 미칩니다.
  3. B 환경 건설이 비정상적이며 제때 처리되지 않아 프로젝트의 적시 출시에 영향을 미칩니다.
  4. 현재 B 환경은 온라인으로 실행 중이고 A 환경은 실제로 실행 중이어야 하며 업그레이드 전환이 제때 완료되지 않았습니다.
  5. 시스템은 일정 시간 동안 실행되며 시간이 지남에 따라 콘텐츠 사용량이 급격히 증가하며, 메모리는 약 1주일 후에 시스템에 도달합니다(여기에서 주는 현재 업무량을 말하며 시간은 단축될 수 있음). 비즈니스 볼륨이 증가함에 따라.)

여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

2: 아이디어 및 솔루션

위의 질문 1-4는 모두 프로덕션 및 릴리스 문제에 편향되어 있으며 질문 5는 기술 문제에 편향되어 있습니다.

위의 다섯 가지 질문에 대해 우리 모두는 프로덕션 환경이 어린이 놀이가 아니며 충분한 책임이 있음을 분명히 해야 합니다. 프로덕션 환경에 경외심을 가질 필요가 있습니다.

질문 1-4에 대한 아이디어 및 솔루션

생산 환경에서 두 세트의 환경의 가치와 중요성을 명확히 하는 것을 기반으로 생산 환경의 중요성.
프로세스 시스템

  1. 엄격한 온라인 프로세스가 있습니다. 하나의 체크 하나를 완료하십시오.
  2. 엄격한 온라인 승인 절차가 있으며 후속 온라인 작업은 승인이 통과된 후에만 수행할 수 있습니다.
  3. 엄격한 폐쇄 루프 프로세스(예: 환경 테스트, 출시 후 테스트)가 있습니다.
  4. 생산 환경의 구축을 운영할 수 있는 사람은 특정 직급에 있는 사람뿐입니다.

온라인 프로세스의 예:
여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

질문 5에 대한 아이디어 및 솔루션

일반적인 이유는 코드에 무리한 상황이 발생하여 대형 객체가 생성되고 객체에 대한 참조가 항상 존재하여 GC가 재활용할 수 없기 때문입니다. 회수할 수 없으므로 메모리가 점진적으로 증가합니다.

이러한 특정 분석이 필요한 문제의 경우 jvm 스냅샷을 인쇄하여 덤프 파일을 생성할 수 있으며 메모리 분석을 위해 jdk1.8과 함께 제공되는 메모리 분석 도구 Jvisual을 사용할 수 있습니다. 메모리 증가의 원인을 찾으십시오.

4: 요약

  1. 생산 환경에 대한 두려움
  2. 일정한 형식을 통한 내용 보장
  3. 역할 분할을 통한 권한 격리

Supongo que te gusta

Origin blog.csdn.net/wangwei021933/article/details/129596833
Recomendado
Clasificación